Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBogdan Gheorghe2011-10-27 14:45:12 +0000
committerBogdan Gheorghe2011-10-27 14:45:12 +0000
commit9f28e4622537fdf7819b8a70259274b3f80a8345 (patch)
tree50c532514455805629dec9b20cb8fa9a4c34e442
parent538e09e75ee44c32978028a5a8b3efff5e47473d (diff)
downloadorg.eclipse.e4.tools-9f28e4622537fdf7819b8a70259274b3f80a8345.tar.gz
org.eclipse.e4.tools-9f28e4622537fdf7819b8a70259274b3f80a8345.tar.xz
org.eclipse.e4.tools-9f28e4622537fdf7819b8a70259274b3f80a8345.zip
XText-based css editorv20111027-1445
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor.ui/.classpath8
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor.ui/.project28
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor.ui/META-INF/MANIFEST.MF23
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor.ui/build.properties5
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor.ui/plugin.xml191
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/AbstractCSSUiModule.java192
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/CSSExecutableExtensionFactory.java27
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/AbstractCSSProposalProvider.java197
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/CSSParser.java156
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/PartialCSSContentAssistParser.java37
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g4131
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.tokens77
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSSLexer.java2018
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSSParser.java11682
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/internal/CSSActivator.java82
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor.ui/src/org/eclipse/e4/ui/CSSUiModule.java15
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor.ui/src/org/eclipse/e4/ui/contentassist/CSSProposalProvider.java12
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor.ui/src/org/eclipse/e4/ui/labeling/CSSDescriptionLabelProvider.java27
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor.ui/src/org/eclipse/e4/ui/labeling/CSSLabelProvider.java34
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor.ui/src/org/eclipse/e4/ui/outline/CSSOutlineTreeProvider.java14
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor.ui/src/org/eclipse/e4/ui/quickfix/CSSQuickfixProvider.java19
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/.antlr-generator-3.2.0.jarbin0 -> 1482584 bytes
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/.classpath9
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/.project34
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/GenerateCSS.mwe2.launch14
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/META-INF/MANIFEST.MF33
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/build.properties6
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/plugin.xml18
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/AbstractCSSRuntimeModule.java162
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore88
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.genmodel72
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.xmi609
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSSStandaloneSetupGenerated.java44
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/CSSFactory.java155
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/CSSPackage.java1529
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/Rules.java64
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/URI.java62
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/css_hash_class.java82
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/css_import.java55
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/declaration.java109
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/element_name.java55
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/expr.java64
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/function.java82
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/CSSFactoryImpl.java254
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/CSSPackageImpl.java838
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/RulesImpl.java210
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/URIImpl.java203
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/css_hash_classImpl.java237
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/css_importImpl.java181
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/declarationImpl.java325
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/element_nameImpl.java181
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/exprImpl.java225
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/functionImpl.java269
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/pseudoImpl.java269
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/selectorImpl.java340
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/simple_selectorImpl.java284
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/stylesheetImpl.java283
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/termImpl.java565
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/pseudo.java82
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/selector.java109
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/simple_selector.java91
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/stylesheet.java91
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/term.java217
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/util/CSSAdapterFactory.java376
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/util/CSSSwitch.java400
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parseTreeConstruction/CSSParsetreeConstructor.java3070
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/CSSAntlrTokenFileProvider.java15
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/CSSParser.java39
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g1737
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.tokens77
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSSLexer.java2018
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSSParser.java4665
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/services/CSSGrammarAccess.java1279
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/validation/AbstractCSSJavaValidator.java20
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src/org/eclipse/e4/CSS.xtext90
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src/org/eclipse/e4/CSSRuntimeModule.java11
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src/org/eclipse/e4/CSSStandaloneSetup.java14
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src/org/eclipse/e4/GenerateCSS.mwe2132
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src/org/eclipse/e4/formatting/CSSFormatter.java27
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src/org/eclipse/e4/generator/CSSGenerator.xtend15
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src/org/eclipse/e4/generator/CSSGeneratorMWE.mwe232
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src/org/eclipse/e4/generator/Main.java67
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src/org/eclipse/e4/scoping/CSSScopeProvider.java17
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/src/org/eclipse/e4/validation/CSSJavaValidator.java13
-rw-r--r--bundles/org.eclipse.e4.tools.css.editor/xtend-gen/org/eclipse/e4/generator/CSSGenerator.java12
85 files changed, 41701 insertions, 0 deletions
diff --git a/bundles/org.eclipse.e4.tools.css.editor.ui/.classpath b/bundles/org.eclipse.e4.tools.css.editor.ui/.classpath
new file mode 100644
index 00000000..e5fbd3dd
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor.ui/.classpath
@@ -0,0 +1,8 @@
+<?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/bundles/org.eclipse.e4.tools.css.editor.ui/.project b/bundles/org.eclipse.e4.tools.css.editor.ui/.project
new file mode 100644
index 00000000..5e2e02ea
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor.ui/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.e4.tools.css.editor.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/bundles/org.eclipse.e4.tools.css.editor.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.e4.tools.css.editor.ui/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..893b4a32
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor.ui/META-INF/MANIFEST.MF
@@ -0,0 +1,23 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.eclipse.e4.tools.css.editor.ui
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0
+Bundle-SymbolicName: org.eclipse.e4.tools.css.editor.ui; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.eclipse.e4.tools.css.editor;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
+Import-Package: org.apache.log4j,
+ org.apache.commons.logging
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.e4.ui.contentassist.antlr,
+ org.eclipse.e4.ui.internal
+Bundle-Activator: org.eclipse.e4.ui.internal.CSSActivator
diff --git a/bundles/org.eclipse.e4.tools.css.editor.ui/build.properties b/bundles/org.eclipse.e4.tools.css.editor.ui/build.properties
new file mode 100644
index 00000000..e10dcceb
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor.ui/build.properties
@@ -0,0 +1,5 @@
+source.. = src/,\
+ src-gen/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml \ No newline at end of file
diff --git a/bundles/org.eclipse.e4.tools.css.editor.ui/plugin.xml b/bundles/org.eclipse.e4.tools.css.editor.ui/plugin.xml
new file mode 100644
index 00000000..d2163aee
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor.ui/plugin.xml
@@ -0,0 +1,191 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<plugin>
+
+ <extension
+ point="org.eclipse.ui.editors">
+ <editor
+ class="org.eclipse.e4.ui.CSSExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
+ contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
+ default="true"
+ extensions="css"
+ id="org.eclipse.e4.CSS"
+ name="CSS Editor">
+ </editor>
+ </extension>
+ <extension
+ point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.e4.ui.CSSExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
+ commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.e4.CSS.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ <handler
+ class="org.eclipse.e4.ui.CSSExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
+ commandId="org.eclipse.e4.CSS.validate">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.e4.CSS.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ </extension>
+ <extension point="org.eclipse.core.expressions.definitions">
+ <definition id="org.eclipse.e4.CSS.Editor.opened">
+ <and>
+ <reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/>
+ <with variable="activeEditor">
+ <test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
+ value="org.eclipse.e4.CSS"
+ forcePluginActivation="true"/>
+ </with>
+ </and>
+ </definition>
+ </extension>
+ <extension
+ point="org.eclipse.ui.preferencePages">
+ <page
+ class="org.eclipse.e4.ui.CSSExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
+ id="org.eclipse.e4.CSS"
+ name="CSS">
+ <keywordReference id="org.eclipse.e4.ui.keyword_CSS"/>
+ </page>
+ <page
+ category="org.eclipse.e4.CSS"
+ class="org.eclipse.e4.ui.CSSExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
+ id="org.eclipse.e4.CSS.coloring"
+ name="Syntax Coloring">
+ <keywordReference id="org.eclipse.e4.ui.keyword_CSS"/>
+ </page>
+ <page
+ category="org.eclipse.e4.CSS"
+ class="org.eclipse.e4.ui.CSSExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
+ id="org.eclipse.e4.CSS.templates"
+ name="Templates">
+ <keywordReference id="org.eclipse.e4.ui.keyword_CSS"/>
+ </page>
+ </extension>
+ <extension
+ point="org.eclipse.ui.keywords">
+ <keyword
+ id="org.eclipse.e4.ui.keyword_CSS"
+ label="CSS"/>
+ </extension>
+ <extension
+ point="org.eclipse.ui.commands">
+ <command
+ description="Trigger expensive validation"
+ id="org.eclipse.e4.CSS.validate"
+ name="Validate">
+ </command>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution
+ locationURI="popup:#TextEditorContext?after=group.edit">
+ <command
+ commandId="org.eclipse.e4.CSS.validate"
+ style="push"
+ tooltip="Trigger expensive validation">
+ <visibleWhen checkEnabled="false">
+ <reference
+ definitionId="org.eclipse.e4.CSS.Editor.opened">
+ </reference>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution locationURI="popup:#TextEditorContext?endof=group.find">
+ <command commandId="org.eclipse.xtext.ui.editor.FindReferences">
+ <visibleWhen checkEnabled="false">
+ <reference definitionId="org.eclipse.e4.CSS.Editor.opened">
+ </reference>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <extension point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.e4.ui.CSSExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
+ commandId="org.eclipse.xtext.ui.editor.FindReferences">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.e4.CSS.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ </extension>
+
+<!-- adding resource factories -->
+
+ <extension
+ point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ class="org.eclipse.e4.ui.CSSExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
+ type="css">
+ </parser>
+ </extension>
+ <extension point="org.eclipse.xtext.extension_resourceServiceProvider">
+ <resourceServiceProvider
+ class="org.eclipse.e4.ui.CSSExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
+ uriExtension="css">
+ </resourceServiceProvider>
+ </extension>
+
+
+
+ <extension
+ point="org.eclipse.xtext.builder.participant">
+ <participant
+ class="org.eclipse.e4.ui.CSSExecutableExtensionFactory:org.eclipse.xtext.builder.IXtextBuilderParticipant">
+ </participant>
+ </extension>
+
+ <!-- Quick Outline -->
+ <extension
+ point="org.eclipse.ui.handlers">
+ <handler
+ class="org.eclipse.e4.ui.CSSExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler"
+ commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline">
+ <activeWhen>
+ <reference
+ definitionId="org.eclipse.e4.CSS.Editor.opened">
+ </reference>
+ </activeWhen>
+ </handler>
+ </extension>
+ <extension
+ point="org.eclipse.ui.commands">
+ <command
+ description="Open the quick outline."
+ id="org.eclipse.xtext.ui.editor.outline.QuickOutline"
+ name="Quick Outline">
+ </command>
+ </extension>
+ <extension point="org.eclipse.ui.menus">
+ <menuContribution
+ locationURI="popup:#TextEditorContext?after=group.open">
+ <command commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline"
+ style="push"
+ tooltip="Open Quick Outline">
+ <visibleWhen checkEnabled="false">
+ <reference definitionId="org.eclipse.e4.CSS.Editor.opened"/>
+ </visibleWhen>
+ </command>
+ </menuContribution>
+ </extension>
+ <!-- quickfix marker resolution generator -->
+ <extension
+ point="org.eclipse.ui.ide.markerResolution">
+ <markerResolutionGenerator
+ class="org.eclipse.e4.ui.CSSExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator">
+ </markerResolutionGenerator>
+ </extension>
+
+
+</plugin>
diff --git a/bundles/org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/AbstractCSSUiModule.java b/bundles/org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/AbstractCSSUiModule.java
new file mode 100644
index 00000000..83338b1b
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/AbstractCSSUiModule.java
@@ -0,0 +1,192 @@
+
+/*
+ * generated by Xtext
+ */
+package org.eclipse.e4.ui;
+
+import org.eclipse.xtext.ui.DefaultUiModule;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+/**
+ * Manual modifications go to {org.eclipse.e4.ui.CSSUiModule}
+ */
+@SuppressWarnings("all")
+public abstract class AbstractCSSUiModule extends DefaultUiModule {
+
+ public AbstractCSSUiModule(AbstractUIPlugin plugin) {
+ super(plugin);
+ }
+
+
+ // contributed by org.eclipse.xtext.ui.generator.ImplicitUiFragment
+ public com.google.inject.Provider<org.eclipse.xtext.resource.containers.IAllContainersState> provideIAllContainersState() {
+ return org.eclipse.xtext.ui.shared.Access.getJavaProjectsState();
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.contentassist.IProposalConflictHelper> bindIProposalConflictHelper() {
+ return org.eclipse.xtext.ui.editor.contentassist.antlr.AntlrProposalConflictHelper.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public void configureHighlightingLexer(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.parser.antlr.Lexer.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.ui.LexerUIBindings.HIGHLIGHTING)).to(org.eclipse.e4.parser.antlr.internal.InternalCSSLexer.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.JavaProjectBasedBuilderParticipant.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.ui.generator.labeling.LabelProviderFragment
+ public Class<? extends org.eclipse.jface.viewers.ILabelProvider> bindILabelProvider() {
+ return org.eclipse.e4.ui.labeling.CSSLabelProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.labeling.LabelProviderFragment
+ public void configureResourceUIServiceLabelProvider(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.jface.viewers.ILabelProvider.class).annotatedWith(org.eclipse.xtext.ui.resource.ResourceServiceDescriptionLabelProvider.class).to(org.eclipse.e4.ui.labeling.CSSDescriptionLabelProvider.class);
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.outline.OutlineTreeProviderFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.outline.IOutlineTreeProvider> bindIOutlineTreeProvider() {
+ return org.eclipse.e4.ui.outline.CSSOutlineTreeProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.outline.OutlineTreeProviderFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.outline.impl.IOutlineTreeStructureProvider> bindIOutlineTreeStructureProvider() {
+ return org.eclipse.e4.ui.outline.CSSOutlineTreeProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.quickfix.QuickfixProviderFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.quickfix.IssueResolutionProvider> bindIssueResolutionProvider() {
+ return org.eclipse.e4.ui.quickfix.CSSQuickfixProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.contentAssist.JavaBasedContentAssistFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.contentassist.IContentProposalProvider> bindIContentProposalProvider() {
+ return org.eclipse.e4.ui.contentassist.CSSProposalProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext.Factory> bindContentAssistContext$Factory() {
+ return org.eclipse.xtext.ui.editor.contentassist.antlr.ParserBasedContentAssistContextFactory.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.contentassist.antlr.IContentAssistParser> bindIContentAssistParser() {
+ return org.eclipse.e4.ui.contentassist.antlr.CSSParser.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
+ public void configureContentAssistLexerProvider(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.e4.ui.contentassist.antlr.internal.InternalCSSLexer.class).toProvider(org.eclipse.xtext.parser.antlr.LexerProvider.create(org.eclipse.e4.ui.contentassist.antlr.internal.InternalCSSLexer.class));
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrUiGeneratorFragment
+ public void configureContentAssistLexer(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.ui.editor.contentassist.antlr.internal.Lexer.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.ui.LexerUIBindings.CONTENT_ASSIST)).to(org.eclipse.e4.ui.contentassist.antlr.internal.InternalCSSLexer.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.ui.generator.templates.CodetemplatesGeneratorFragment
+ public com.google.inject.Provider<org.eclipse.xtext.ui.codetemplates.ui.preferences.TemplatesLanguageConfiguration> provideTemplatesLanguageConfiguration() {
+ return org.eclipse.xtext.ui.codetemplates.ui.AccessibleCodetemplatesActivator.getTemplatesLanguageConfigurationProvider();
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.templates.CodetemplatesGeneratorFragment
+ public com.google.inject.Provider<org.eclipse.xtext.ui.codetemplates.ui.registry.LanguageRegistry> provideLanguageRegistry() {
+ return org.eclipse.xtext.ui.codetemplates.ui.AccessibleCodetemplatesActivator.getLanguageRegistry();
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.templates.CodetemplatesGeneratorFragment
+ @org.eclipse.xtext.service.SingletonBinding(eager=true) public Class<? extends org.eclipse.xtext.ui.codetemplates.ui.registry.LanguageRegistrar> bindLanguageRegistrar() {
+ return org.eclipse.xtext.ui.codetemplates.ui.registry.LanguageRegistrar.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.templates.CodetemplatesGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage> bindXtextTemplatePreferencePage() {
+ return org.eclipse.xtext.ui.codetemplates.ui.preferences.AdvancedTemplatesPreferencePage.class;
+ }
+
+ // contributed by org.eclipse.xtext.ui.generator.templates.CodetemplatesGeneratorFragment
+ public Class<? extends org.eclipse.xtext.ui.codetemplates.ui.partialEditing.IPartialContentAssistParser> bindIPartialContentAssistParser() {
+ return org.eclipse.e4.ui.contentassist.antlr.PartialCSSContentAssistParser.class;
+ }
+
+
+}
diff --git a/bundles/org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/CSSExecutableExtensionFactory.java b/bundles/org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/CSSExecutableExtensionFactory.java
new file mode 100644
index 00000000..c5ffa772
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/CSSExecutableExtensionFactory.java
@@ -0,0 +1,27 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.e4.ui;
+
+import org.eclipse.xtext.ui.guice.AbstractGuiceAwareExecutableExtensionFactory;
+import org.osgi.framework.Bundle;
+
+import com.google.inject.Injector;
+
+/**
+ * This class was generated. Customizations should only happen in a newly
+ * introduced subclass.
+ */
+public class CSSExecutableExtensionFactory extends AbstractGuiceAwareExecutableExtensionFactory {
+
+ @Override
+ protected Bundle getBundle() {
+ return org.eclipse.e4.ui.internal.CSSActivator.getInstance().getBundle();
+ }
+
+ @Override
+ protected Injector getInjector() {
+ return org.eclipse.e4.ui.internal.CSSActivator.getInstance().getInjector("org.eclipse.e4.CSS");
+ }
+
+}
diff --git a/bundles/org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/AbstractCSSProposalProvider.java b/bundles/org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/AbstractCSSProposalProvider.java
new file mode 100644
index 00000000..64c6a7ab
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/AbstractCSSProposalProvider.java
@@ -0,0 +1,197 @@
+/*
+* generated by Xtext
+*/
+package org.eclipse.e4.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 AbstractCSSProposalProvider extends TerminalsProposalProvider {
+
+ public void completeStylesheet_Location(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeStylesheet_ImportName(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeStylesheet_Ruleset(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeRules_Selectors(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeRules_Declarations(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeCss_import_String_name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeSelector_Simpleselectors(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeSelector_Combinator(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeSelector_Selector(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeSimple_selector_Element(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeSimple_selector_Id(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeSimple_selector_Pseudo(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completePseudo_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completePseudo_Function(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeElement_name_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeDeclaration_Property(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeDeclaration_Expr(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeDeclaration_Priority(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void completeExpr_Term(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeExpr_Operators(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ // subclasses may override
+ }
+ public void completeTerm_Unary(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeTerm_Number(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeTerm_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeTerm_Id(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeTerm_Uri(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeTerm_Color(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeTerm_Function(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_Expr(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeURI_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeURI_Id(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+ public void completeCss_hash_class_Type(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ // subclasses may override
+ }
+ public void completeCss_hash_class_Name(EObject model, Assignment assignment, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ completeRuleCall(((RuleCall)assignment.getTerminal()), context, acceptor);
+ }
+
+ public void complete_stylesheet(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_Rules(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_css_import(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_selector(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_simple_selector(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_pseudo(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_element_name(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_declaration(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_expr(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_function(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_URI(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_unary_numbers(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_PERCENTAGE(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_EMS(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_EXS(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_LENGTH(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_ANGLE(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_TIME(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_FREQ(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_css_hash_class(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_hexdigits(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_ident(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_combinator(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+ public void complete_unary_operator(EObject model, RuleCall ruleCall, ContentAssistContext context, ICompletionProposalAcceptor acceptor) {
+ // subclasses may override
+ }
+}
diff --git a/bundles/org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/CSSParser.java b/bundles/org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/CSSParser.java
new file mode 100644
index 00000000..ee1d3730
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/CSSParser.java
@@ -0,0 +1,156 @@
+/*
+* generated by Xtext
+*/
+package org.eclipse.e4.ui.contentassist.antlr;
+
+import java.util.Collection;
+import java.util.Map;
+import java.util.HashMap;
+
+import org.antlr.runtime.RecognitionException;
+import org.eclipse.xtext.AbstractElement;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.AbstractContentAssistParser;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.FollowElement;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
+
+import com.google.inject.Inject;
+
+import org.eclipse.e4.services.CSSGrammarAccess;
+
+public class CSSParser extends AbstractContentAssistParser {
+
+ @Inject
+ private CSSGrammarAccess grammarAccess;
+
+ private Map<AbstractElement, String> nameMappings;
+
+ @Override
+ protected org.eclipse.e4.ui.contentassist.antlr.internal.InternalCSSParser createParser() {
+ org.eclipse.e4.ui.contentassist.antlr.internal.InternalCSSParser result = new org.eclipse.e4.ui.contentassist.antlr.internal.InternalCSSParser(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.getCss_importAccess().getAlternatives_1(), "rule__Css_import__Alternatives_1");
+ put(grammarAccess.getSelectorAccess().getAlternatives_1(), "rule__Selector__Alternatives_1");
+ put(grammarAccess.getSimple_selectorAccess().getAlternatives(), "rule__Simple_selector__Alternatives");
+ put(grammarAccess.getPseudoAccess().getAlternatives(), "rule__Pseudo__Alternatives");
+ put(grammarAccess.getElement_nameAccess().getAlternatives(), "rule__Element_name__Alternatives");
+ put(grammarAccess.getExprAccess().getOperatorsAlternatives_1_0_0(), "rule__Expr__OperatorsAlternatives_1_0_0");
+ put(grammarAccess.getTermAccess().getAlternatives(), "rule__Term__Alternatives");
+ put(grammarAccess.getURIAccess().getAlternatives_3(), "rule__URI__Alternatives_3");
+ put(grammarAccess.getURIAccess().getAlternatives_3_1_0(), "rule__URI__Alternatives_3_1_0");
+ put(grammarAccess.getUnary_numbersAccess().getAlternatives(), "rule__Unary_numbers__Alternatives");
+ put(grammarAccess.getLENGTHAccess().getAlternatives_1(), "rule__LENGTH__Alternatives_1");
+ put(grammarAccess.getANGLEAccess().getAlternatives_1(), "rule__ANGLE__Alternatives_1");
+ put(grammarAccess.getTIMEAccess().getAlternatives_1(), "rule__TIME__Alternatives_1");
+ put(grammarAccess.getFREQAccess().getAlternatives_1(), "rule__FREQ__Alternatives_1");
+ put(grammarAccess.getCss_hash_classAccess().getTypeAlternatives_0_0(), "rule__Css_hash_class__TypeAlternatives_0_0");
+ put(grammarAccess.getCombinatorAccess().getAlternatives(), "rule__Combinator__Alternatives");
+ put(grammarAccess.getUnary_operatorAccess().getAlternatives(), "rule__Unary_operator__Alternatives");
+ put(grammarAccess.getStylesheetAccess().getGroup(), "rule__Stylesheet__Group__0");
+ put(grammarAccess.getRulesAccess().getGroup(), "rule__Rules__Group__0");
+ put(grammarAccess.getRulesAccess().getGroup_1(), "rule__Rules__Group_1__0");
+ put(grammarAccess.getRulesAccess().getGroup_4(), "rule__Rules__Group_4__0");
+ put(grammarAccess.getCss_importAccess().getGroup(), "rule__Css_import__Group__0");
+ put(grammarAccess.getSelectorAccess().getGroup(), "rule__Selector__Group__0");
+ put(grammarAccess.getSelectorAccess().getGroup_1_0(), "rule__Selector__Group_1_0__0");
+ put(grammarAccess.getSelectorAccess().getGroup_1_1(), "rule__Selector__Group_1_1__0");
+ put(grammarAccess.getSelectorAccess().getGroup_1_1_1(), "rule__Selector__Group_1_1_1__0");
+ put(grammarAccess.getSimple_selectorAccess().getGroup_0(), "rule__Simple_selector__Group_0__0");
+ put(grammarAccess.getPseudoAccess().getGroup_0(), "rule__Pseudo__Group_0__0");
+ put(grammarAccess.getPseudoAccess().getGroup_1(), "rule__Pseudo__Group_1__0");
+ put(grammarAccess.getDeclarationAccess().getGroup(), "rule__Declaration__Group__0");
+ put(grammarAccess.getExprAccess().getGroup(), "rule__Expr__Group__0");
+ put(grammarAccess.getExprAccess().getGroup_1(), "rule__Expr__Group_1__0");
+ put(grammarAccess.getTermAccess().getGroup_0(), "rule__Term__Group_0__0");
+ put(grammarAccess.getFunctionAccess().getGroup(), "rule__Function__Group__0");
+ put(grammarAccess.getURIAccess().getGroup(), "rule__URI__Group__0");
+ put(grammarAccess.getURIAccess().getGroup_3_1(), "rule__URI__Group_3_1__0");
+ put(grammarAccess.getURIAccess().getGroup_4(), "rule__URI__Group_4__0");
+ put(grammarAccess.getPERCENTAGEAccess().getGroup(), "rule__PERCENTAGE__Group__0");
+ put(grammarAccess.getEMSAccess().getGroup(), "rule__EMS__Group__0");
+ put(grammarAccess.getEXSAccess().getGroup(), "rule__EXS__Group__0");
+ put(grammarAccess.getLENGTHAccess().getGroup(), "rule__LENGTH__Group__0");
+ put(grammarAccess.getANGLEAccess().getGroup(), "rule__ANGLE__Group__0");
+ put(grammarAccess.getTIMEAccess().getGroup(), "rule__TIME__Group__0");
+ put(grammarAccess.getFREQAccess().getGroup(), "rule__FREQ__Group__0");
+ put(grammarAccess.getCss_hash_classAccess().getGroup(), "rule__Css_hash_class__Group__0");
+ put(grammarAccess.getStylesheetAccess().getLocationAssignment_0(), "rule__Stylesheet__LocationAssignment_0");
+ put(grammarAccess.getStylesheetAccess().getImportNameAssignment_1(), "rule__Stylesheet__ImportNameAssignment_1");
+ put(grammarAccess.getStylesheetAccess().getRulesetAssignment_2(), "rule__Stylesheet__RulesetAssignment_2");
+ put(grammarAccess.getRulesAccess().getSelectorsAssignment_0(), "rule__Rules__SelectorsAssignment_0");
+ put(grammarAccess.getRulesAccess().getSelectorsAssignment_1_1(), "rule__Rules__SelectorsAssignment_1_1");
+ put(grammarAccess.getRulesAccess().getDeclarationsAssignment_3(), "rule__Rules__DeclarationsAssignment_3");
+ put(grammarAccess.getRulesAccess().getDeclarationsAssignment_4_1(), "rule__Rules__DeclarationsAssignment_4_1");
+ put(grammarAccess.getCss_importAccess().getString_nameAssignment_1_0(), "rule__Css_import__String_nameAssignment_1_0");
+ put(grammarAccess.getSelectorAccess().getSimpleselectorsAssignment_0(), "rule__Selector__SimpleselectorsAssignment_0");
+ put(grammarAccess.getSelectorAccess().getCombinatorAssignment_1_0_0(), "rule__Selector__CombinatorAssignment_1_0_0");
+ put(grammarAccess.getSelectorAccess().getSelectorAssignment_1_0_1(), "rule__Selector__SelectorAssignment_1_0_1");
+ put(grammarAccess.getSelectorAccess().getCombinatorAssignment_1_1_1_0(), "rule__Selector__CombinatorAssignment_1_1_1_0");
+ put(grammarAccess.getSelectorAccess().getSelectorAssignment_1_1_1_1(), "rule__Selector__SelectorAssignment_1_1_1_1");
+ put(grammarAccess.getSimple_selectorAccess().getElementAssignment_0_0(), "rule__Simple_selector__ElementAssignment_0_0");
+ put(grammarAccess.getSimple_selectorAccess().getIdAssignment_0_1(), "rule__Simple_selector__IdAssignment_0_1");
+ put(grammarAccess.getSimple_selectorAccess().getPseudoAssignment_0_2(), "rule__Simple_selector__PseudoAssignment_0_2");
+ put(grammarAccess.getSimple_selectorAccess().getIdAssignment_1(), "rule__Simple_selector__IdAssignment_1");
+ put(grammarAccess.getPseudoAccess().getNameAssignment_0_1(), "rule__Pseudo__NameAssignment_0_1");
+ put(grammarAccess.getPseudoAccess().getFunctionAssignment_1_0(), "rule__Pseudo__FunctionAssignment_1_0");
+ put(grammarAccess.getPseudoAccess().getNameAssignment_1_1(), "rule__Pseudo__NameAssignment_1_1");
+ put(grammarAccess.getElement_nameAccess().getNameAssignment_0(), "rule__Element_name__NameAssignment_0");
+ put(grammarAccess.getElement_nameAccess().getNameAssignment_1(), "rule__Element_name__NameAssignment_1");
+ put(grammarAccess.getDeclarationAccess().getPropertyAssignment_0(), "rule__Declaration__PropertyAssignment_0");
+ put(grammarAccess.getDeclarationAccess().getExprAssignment_2(), "rule__Declaration__ExprAssignment_2");
+ put(grammarAccess.getDeclarationAccess().getPriorityAssignment_3(), "rule__Declaration__PriorityAssignment_3");
+ put(grammarAccess.getExprAccess().getTermAssignment_0(), "rule__Expr__TermAssignment_0");
+ put(grammarAccess.getExprAccess().getOperatorsAssignment_1_0(), "rule__Expr__OperatorsAssignment_1_0");
+ put(grammarAccess.getExprAccess().getTermAssignment_1_1(), "rule__Expr__TermAssignment_1_1");
+ put(grammarAccess.getTermAccess().getUnaryAssignment_0_0(), "rule__Term__UnaryAssignment_0_0");
+ put(grammarAccess.getTermAccess().getNumberAssignment_0_1(), "rule__Term__NumberAssignment_0_1");
+ put(grammarAccess.getTermAccess().getNameAssignment_1(), "rule__Term__NameAssignment_1");
+ put(grammarAccess.getTermAccess().getIdAssignment_2(), "rule__Term__IdAssignment_2");
+ put(grammarAccess.getTermAccess().getUriAssignment_3(), "rule__Term__UriAssignment_3");
+ put(grammarAccess.getTermAccess().getColorAssignment_4(), "rule__Term__ColorAssignment_4");
+ put(grammarAccess.getTermAccess().getFunctionAssignment_5(), "rule__Term__FunctionAssignment_5");
+ put(grammarAccess.getFunctionAccess().getNameAssignment_0(), "rule__Function__NameAssignment_0");
+ put(grammarAccess.getFunctionAccess().getExprAssignment_2(), "rule__Function__ExprAssignment_2");
+ put(grammarAccess.getURIAccess().getNameAssignment_3_0(), "rule__URI__NameAssignment_3_0");
+ put(grammarAccess.getURIAccess().getIdAssignment_3_1_1(), "rule__URI__IdAssignment_3_1_1");
+ put(grammarAccess.getURIAccess().getIdAssignment_4_1(), "rule__URI__IdAssignment_4_1");
+ put(grammarAccess.getCss_hash_classAccess().getTypeAssignment_0(), "rule__Css_hash_class__TypeAssignment_0");
+ put(grammarAccess.getCss_hash_classAccess().getNameAssignment_1(), "rule__Css_hash_class__NameAssignment_1");
+ }
+ };
+ }
+ return nameMappings.get(element);
+ }
+
+ @Override
+ protected Collection<FollowElement> getFollowElements(AbstractInternalContentAssistParser parser) {
+ try {
+ org.eclipse.e4.ui.contentassist.antlr.internal.InternalCSSParser typedParser = (org.eclipse.e4.ui.contentassist.antlr.internal.InternalCSSParser) parser;
+ typedParser.entryRulestylesheet();
+ 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 CSSGrammarAccess getGrammarAccess() {
+ return this.grammarAccess;
+ }
+
+ public void setGrammarAccess(CSSGrammarAccess grammarAccess) {
+ this.grammarAccess = grammarAccess;
+ }
+}
diff --git a/bundles/org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/PartialCSSContentAssistParser.java b/bundles/org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/PartialCSSContentAssistParser.java
new file mode 100644
index 00000000..db086473
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/PartialCSSContentAssistParser.java
@@ -0,0 +1,37 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.e4.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 PartialCSSContentAssistParser extends CSSParser 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/bundles/org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g b/bundles/org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g
new file mode 100644
index 00000000..0a0eae36
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g
@@ -0,0 +1,4131 @@
+/*
+* generated by Xtext
+*/
+grammar InternalCSS;
+
+options {
+ superClass=AbstractInternalContentAssistParser;
+
+}
+
+@lexer::header {
+package org.eclipse.e4.ui.contentassist.antlr.internal;
+
+// Hack: Use our own Lexer superclass by means of import.
+// Currently there is no other way to specify the superclass for the lexer.
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.Lexer;
+}
+
+@parser::header {
+package org.eclipse.e4.ui.contentassist.antlr.internal;
+
+import java.io.InputStream;
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
+import org.eclipse.e4.services.CSSGrammarAccess;
+
+}
+
+@parser::members {
+
+ private CSSGrammarAccess grammarAccess;
+
+ public void setGrammarAccess(CSSGrammarAccess grammarAccess) {
+ this.grammarAccess = grammarAccess;
+ }
+
+ @Override
+ protected Grammar getGrammar() {
+ return grammarAccess.getGrammar();
+ }
+
+ @Override
+ protected String getValueForTokenName(String tokenName) {
+ return tokenName;
+ }
+
+}
+
+
+
+
+// Entry rule entryRulestylesheet
+entryRulestylesheet
+:
+{ before(grammarAccess.getStylesheetRule()); }
+ rulestylesheet
+{ after(grammarAccess.getStylesheetRule()); }
+ EOF
+;
+
+// Rule stylesheet
+rulestylesheet
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getStylesheetAccess().getGroup()); }
+(rule__Stylesheet__Group__0)
+{ after(grammarAccess.getStylesheetAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleRules
+entryRuleRules
+:
+{ before(grammarAccess.getRulesRule()); }
+ ruleRules
+{ after(grammarAccess.getRulesRule()); }
+ EOF
+;
+
+// Rule Rules
+ruleRules
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getRulesAccess().getGroup()); }
+(rule__Rules__Group__0)
+{ after(grammarAccess.getRulesAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRulecss_import
+entryRulecss_import
+:
+{ before(grammarAccess.getCss_importRule()); }
+ rulecss_import
+{ after(grammarAccess.getCss_importRule()); }
+ EOF
+;
+
+// Rule css_import
+rulecss_import
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getCss_importAccess().getGroup()); }
+(rule__Css_import__Group__0)
+{ after(grammarAccess.getCss_importAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleselector
+entryRuleselector
+@init {
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+}
+:
+{ before(grammarAccess.getSelectorRule()); }
+ ruleselector
+{ after(grammarAccess.getSelectorRule()); }
+ EOF
+;
+finally {
+ myHiddenTokenState.restore();
+}
+
+// Rule selector
+ruleselector
+ @init {
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getSelectorAccess().getGroup()); }
+(rule__Selector__Group__0)
+{ after(grammarAccess.getSelectorAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+ myHiddenTokenState.restore();
+}
+
+
+
+// Entry rule entryRulesimple_selector
+entryRulesimple_selector
+:
+{ before(grammarAccess.getSimple_selectorRule()); }
+ rulesimple_selector
+{ after(grammarAccess.getSimple_selectorRule()); }
+ EOF
+;
+
+// Rule simple_selector
+rulesimple_selector
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getSimple_selectorAccess().getAlternatives()); }
+(rule__Simple_selector__Alternatives)
+{ after(grammarAccess.getSimple_selectorAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRulepseudo
+entryRulepseudo
+:
+{ before(grammarAccess.getPseudoRule()); }
+ rulepseudo
+{ after(grammarAccess.getPseudoRule()); }
+ EOF
+;
+
+// Rule pseudo
+rulepseudo
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getPseudoAccess().getAlternatives()); }
+(rule__Pseudo__Alternatives)
+{ after(grammarAccess.getPseudoAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleelement_name
+entryRuleelement_name
+:
+{ before(grammarAccess.getElement_nameRule()); }
+ ruleelement_name
+{ after(grammarAccess.getElement_nameRule()); }
+ EOF
+;
+
+// Rule element_name
+ruleelement_name
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getElement_nameAccess().getAlternatives()); }
+(rule__Element_name__Alternatives)
+{ after(grammarAccess.getElement_nameAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuledeclaration
+entryRuledeclaration
+:
+{ before(grammarAccess.getDeclarationRule()); }
+ ruledeclaration
+{ after(grammarAccess.getDeclarationRule()); }
+ EOF
+;
+
+// Rule declaration
+ruledeclaration
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getDeclarationAccess().getGroup()); }
+(rule__Declaration__Group__0)
+{ after(grammarAccess.getDeclarationAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleexpr
+entryRuleexpr
+:
+{ before(grammarAccess.getExprRule()); }
+ ruleexpr
+{ after(grammarAccess.getExprRule()); }
+ EOF
+;
+
+// Rule expr
+ruleexpr
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getExprAccess().getGroup()); }
+(rule__Expr__Group__0)
+{ after(grammarAccess.getExprAccess().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().getAlternatives()); }
+(rule__Term__Alternatives)
+{ after(grammarAccess.getTermAccess().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 entryRuleURI
+entryRuleURI
+:
+{ before(grammarAccess.getURIRule()); }
+ ruleURI
+{ after(grammarAccess.getURIRule()); }
+ EOF
+;
+
+// Rule URI
+ruleURI
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getURIAccess().getGroup()); }
+(rule__URI__Group__0)
+{ after(grammarAccess.getURIAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleunary_numbers
+entryRuleunary_numbers
+:
+{ before(grammarAccess.getUnary_numbersRule()); }
+ ruleunary_numbers
+{ after(grammarAccess.getUnary_numbersRule()); }
+ EOF
+;
+
+// Rule unary_numbers
+ruleunary_numbers
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getUnary_numbersAccess().getAlternatives()); }
+(rule__Unary_numbers__Alternatives)
+{ after(grammarAccess.getUnary_numbersAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRulePERCENTAGE
+entryRulePERCENTAGE
+:
+{ before(grammarAccess.getPERCENTAGERule()); }
+ rulePERCENTAGE
+{ after(grammarAccess.getPERCENTAGERule()); }
+ EOF
+;
+
+// Rule PERCENTAGE
+rulePERCENTAGE
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getPERCENTAGEAccess().getGroup()); }
+(rule__PERCENTAGE__Group__0)
+{ after(grammarAccess.getPERCENTAGEAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEMS
+entryRuleEMS
+:
+{ before(grammarAccess.getEMSRule()); }
+ ruleEMS
+{ after(grammarAccess.getEMSRule()); }
+ EOF
+;
+
+// Rule EMS
+ruleEMS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getEMSAccess().getGroup()); }
+(rule__EMS__Group__0)
+{ after(grammarAccess.getEMSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleEXS
+entryRuleEXS
+:
+{ before(grammarAccess.getEXSRule()); }
+ ruleEXS
+{ after(grammarAccess.getEXSRule()); }
+ EOF
+;
+
+// Rule EXS
+ruleEXS
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getEXSAccess().getGroup()); }
+(rule__EXS__Group__0)
+{ after(grammarAccess.getEXSAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleLENGTH
+entryRuleLENGTH
+@init {
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+}
+:
+{ before(grammarAccess.getLENGTHRule()); }
+ ruleLENGTH
+{ after(grammarAccess.getLENGTHRule()); }
+ EOF
+;
+finally {
+ myHiddenTokenState.restore();
+}
+
+// Rule LENGTH
+ruleLENGTH
+ @init {
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getLENGTHAccess().getGroup()); }
+(rule__LENGTH__Group__0)
+{ after(grammarAccess.getLENGTHAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+ myHiddenTokenState.restore();
+}
+
+
+
+// Entry rule entryRuleANGLE
+entryRuleANGLE
+:
+{ before(grammarAccess.getANGLERule()); }
+ ruleANGLE
+{ after(grammarAccess.getANGLERule()); }
+ EOF
+;
+
+// Rule ANGLE
+ruleANGLE
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getANGLEAccess().getGroup()); }
+(rule__ANGLE__Group__0)
+{ after(grammarAccess.getANGLEAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleTIME
+entryRuleTIME
+:
+{ before(grammarAccess.getTIMERule()); }
+ ruleTIME
+{ after(grammarAccess.getTIMERule()); }
+ EOF
+;
+
+// Rule TIME
+ruleTIME
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getTIMEAccess().getGroup()); }
+(rule__TIME__Group__0)
+{ after(grammarAccess.getTIMEAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRuleFREQ
+entryRuleFREQ
+:
+{ before(grammarAccess.getFREQRule()); }
+ ruleFREQ
+{ after(grammarAccess.getFREQRule()); }
+ EOF
+;
+
+// Rule FREQ
+ruleFREQ
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getFREQAccess().getGroup()); }
+(rule__FREQ__Group__0)
+{ after(grammarAccess.getFREQAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRulecss_hash_class
+entryRulecss_hash_class
+:
+{ before(grammarAccess.getCss_hash_classRule()); }
+ rulecss_hash_class
+{ after(grammarAccess.getCss_hash_classRule()); }
+ EOF
+;
+
+// Rule css_hash_class
+rulecss_hash_class
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getCss_hash_classAccess().getGroup()); }
+(rule__Css_hash_class__Group__0)
+{ after(grammarAccess.getCss_hash_classAccess().getGroup()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+// Entry rule entryRulecombinator
+entryRulecombinator
+@init {
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens("RULE_WS");
+}
+:
+{ before(grammarAccess.getCombinatorRule()); }
+ rulecombinator
+{ after(grammarAccess.getCombinatorRule()); }
+ EOF
+;
+finally {
+ myHiddenTokenState.restore();
+}
+
+// Rule combinator
+rulecombinator
+ @init {
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens("RULE_WS");
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getCombinatorAccess().getAlternatives()); }
+(rule__Combinator__Alternatives)
+{ after(grammarAccess.getCombinatorAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+ myHiddenTokenState.restore();
+}
+
+
+
+// Entry rule entryRuleunary_operator
+entryRuleunary_operator
+:
+{ before(grammarAccess.getUnary_operatorRule()); }
+ ruleunary_operator
+{ after(grammarAccess.getUnary_operatorRule()); }
+ EOF
+;
+
+// Rule unary_operator
+ruleunary_operator
+ @init {
+ int stackSize = keepStackSize();
+ }
+ :
+(
+{ before(grammarAccess.getUnary_operatorAccess().getAlternatives()); }
+(rule__Unary_operator__Alternatives)
+{ after(grammarAccess.getUnary_operatorAccess().getAlternatives()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+rule__Css_import__Alternatives_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCss_importAccess().getString_nameAssignment_1_0()); }
+(rule__Css_import__String_nameAssignment_1_0)
+{ after(grammarAccess.getCss_importAccess().getString_nameAssignment_1_0()); }
+)
+
+ |(
+{ before(grammarAccess.getCss_importAccess().getURIParserRuleCall_1_1()); }
+ ruleURI
+{ after(grammarAccess.getCss_importAccess().getURIParserRuleCall_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Selector__Alternatives_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSelectorAccess().getGroup_1_0()); }
+(rule__Selector__Group_1_0__0)
+{ after(grammarAccess.getSelectorAccess().getGroup_1_0()); }
+)
+
+ |(
+{ before(grammarAccess.getSelectorAccess().getGroup_1_1()); }
+(rule__Selector__Group_1_1__0)
+{ after(grammarAccess.getSelectorAccess().getGroup_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Simple_selector__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSimple_selectorAccess().getGroup_0()); }
+(rule__Simple_selector__Group_0__0)
+{ after(grammarAccess.getSimple_selectorAccess().getGroup_0()); }
+)
+
+ |(
+(
+{ before(grammarAccess.getSimple_selectorAccess().getIdAssignment_1()); }
+(rule__Simple_selector__IdAssignment_1)
+{ after(grammarAccess.getSimple_selectorAccess().getIdAssignment_1()); }
+)
+(
+{ before(grammarAccess.getSimple_selectorAccess().getIdAssignment_1()); }
+(rule__Simple_selector__IdAssignment_1)*
+{ after(grammarAccess.getSimple_selectorAccess().getIdAssignment_1()); }
+)
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Pseudo__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPseudoAccess().getGroup_0()); }
+(rule__Pseudo__Group_0__0)
+{ after(grammarAccess.getPseudoAccess().getGroup_0()); }
+)
+
+ |(
+{ before(grammarAccess.getPseudoAccess().getGroup_1()); }
+(rule__Pseudo__Group_1__0)
+{ after(grammarAccess.getPseudoAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Element_name__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getElement_nameAccess().getNameAssignment_0()); }
+(rule__Element_name__NameAssignment_0)
+{ after(grammarAccess.getElement_nameAccess().getNameAssignment_0()); }
+)
+
+ |(
+{ before(grammarAccess.getElement_nameAccess().getNameAssignment_1()); }
+(rule__Element_name__NameAssignment_1)
+{ after(grammarAccess.getElement_nameAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Expr__OperatorsAlternatives_1_0_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getExprAccess().getOperatorsSolidusKeyword_1_0_0_0()); }
+
+ '/'
+
+{ after(grammarAccess.getExprAccess().getOperatorsSolidusKeyword_1_0_0_0()); }
+)
+
+ |(
+{ before(grammarAccess.getExprAccess().getOperatorsCommaKeyword_1_0_0_1()); }
+
+ ','
+
+{ after(grammarAccess.getExprAccess().getOperatorsCommaKeyword_1_0_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Term__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTermAccess().getGroup_0()); }
+(rule__Term__Group_0__0)
+{ after(grammarAccess.getTermAccess().getGroup_0()); }
+)
+
+ |(
+{ before(grammarAccess.getTermAccess().getNameAssignment_1()); }
+(rule__Term__NameAssignment_1)
+{ after(grammarAccess.getTermAccess().getNameAssignment_1()); }
+)
+
+ |(
+{ before(grammarAccess.getTermAccess().getIdAssignment_2()); }
+(rule__Term__IdAssignment_2)
+{ after(grammarAccess.getTermAccess().getIdAssignment_2()); }
+)
+
+ |(
+{ before(grammarAccess.getTermAccess().getUriAssignment_3()); }
+(rule__Term__UriAssignment_3)
+{ after(grammarAccess.getTermAccess().getUriAssignment_3()); }
+)
+
+ |(
+{ before(grammarAccess.getTermAccess().getColorAssignment_4()); }
+(rule__Term__ColorAssignment_4)
+{ after(grammarAccess.getTermAccess().getColorAssignment_4()); }
+)
+
+ |(
+{ before(grammarAccess.getTermAccess().getFunctionAssignment_5()); }
+(rule__Term__FunctionAssignment_5)
+{ after(grammarAccess.getTermAccess().getFunctionAssignment_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__URI__Alternatives_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getURIAccess().getNameAssignment_3_0()); }
+(rule__URI__NameAssignment_3_0)
+{ after(grammarAccess.getURIAccess().getNameAssignment_3_0()); }
+)
+
+ |(
+{ before(grammarAccess.getURIAccess().getGroup_3_1()); }
+(rule__URI__Group_3_1__0)
+{ after(grammarAccess.getURIAccess().getGroup_3_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__URI__Alternatives_3_1_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getURIAccess().getReverseSolidusKeyword_3_1_0_0()); }
+
+ '\\'
+
+{ after(grammarAccess.getURIAccess().getReverseSolidusKeyword_3_1_0_0()); }
+)
+
+ |(
+{ before(grammarAccess.getURIAccess().getSolidusKeyword_3_1_0_1()); }
+
+ '/'
+
+{ after(grammarAccess.getURIAccess().getSolidusKeyword_3_1_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Unary_numbers__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getUnary_numbersAccess().getINTTerminalRuleCall_0()); }
+ RULE_INT
+{ after(grammarAccess.getUnary_numbersAccess().getINTTerminalRuleCall_0()); }
+)
+
+ |(
+{ before(grammarAccess.getUnary_numbersAccess().getPERCENTAGEParserRuleCall_1()); }
+ rulePERCENTAGE
+{ after(grammarAccess.getUnary_numbersAccess().getPERCENTAGEParserRuleCall_1()); }
+)
+
+ |(
+{ before(grammarAccess.getUnary_numbersAccess().getLENGTHParserRuleCall_2()); }
+ ruleLENGTH
+{ after(grammarAccess.getUnary_numbersAccess().getLENGTHParserRuleCall_2()); }
+)
+
+ |(
+{ before(grammarAccess.getUnary_numbersAccess().getEMSParserRuleCall_3()); }
+ ruleEMS
+{ after(grammarAccess.getUnary_numbersAccess().getEMSParserRuleCall_3()); }
+)
+
+ |(
+{ before(grammarAccess.getUnary_numbersAccess().getEXSParserRuleCall_4()); }
+ ruleEXS
+{ after(grammarAccess.getUnary_numbersAccess().getEXSParserRuleCall_4()); }
+)
+
+ |(
+{ before(grammarAccess.getUnary_numbersAccess().getANGLEParserRuleCall_5()); }
+ ruleANGLE
+{ after(grammarAccess.getUnary_numbersAccess().getANGLEParserRuleCall_5()); }
+)
+
+ |(
+{ before(grammarAccess.getUnary_numbersAccess().getTIMEParserRuleCall_6()); }
+ ruleTIME
+{ after(grammarAccess.getUnary_numbersAccess().getTIMEParserRuleCall_6()); }
+)
+
+ |(
+{ before(grammarAccess.getUnary_numbersAccess().getFREQParserRuleCall_7()); }
+ ruleFREQ
+{ after(grammarAccess.getUnary_numbersAccess().getFREQParserRuleCall_7()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LENGTH__Alternatives_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLENGTHAccess().getPxKeyword_1_0()); }
+
+ 'px'
+
+{ after(grammarAccess.getLENGTHAccess().getPxKeyword_1_0()); }
+)
+
+ |(
+{ before(grammarAccess.getLENGTHAccess().getCmKeyword_1_1()); }
+
+ 'cm'
+
+{ after(grammarAccess.getLENGTHAccess().getCmKeyword_1_1()); }
+)
+
+ |(
+{ before(grammarAccess.getLENGTHAccess().getMmKeyword_1_2()); }
+
+ 'mm'
+
+{ after(grammarAccess.getLENGTHAccess().getMmKeyword_1_2()); }
+)
+
+ |(
+{ before(grammarAccess.getLENGTHAccess().getInKeyword_1_3()); }
+
+ 'in'
+
+{ after(grammarAccess.getLENGTHAccess().getInKeyword_1_3()); }
+)
+
+ |(
+{ before(grammarAccess.getLENGTHAccess().getPtKeyword_1_4()); }
+
+ 'pt'
+
+{ after(grammarAccess.getLENGTHAccess().getPtKeyword_1_4()); }
+)
+
+ |(
+{ before(grammarAccess.getLENGTHAccess().getPcKeyword_1_5()); }
+
+ 'pc'
+
+{ after(grammarAccess.getLENGTHAccess().getPcKeyword_1_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ANGLE__Alternatives_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getANGLEAccess().getDegKeyword_1_0()); }
+
+ 'deg'
+
+{ after(grammarAccess.getANGLEAccess().getDegKeyword_1_0()); }
+)
+
+ |(
+{ before(grammarAccess.getANGLEAccess().getRadKeyword_1_1()); }
+
+ 'rad'
+
+{ after(grammarAccess.getANGLEAccess().getRadKeyword_1_1()); }
+)
+
+ |(
+{ before(grammarAccess.getANGLEAccess().getGradKeyword_1_2()); }
+
+ 'grad'
+
+{ after(grammarAccess.getANGLEAccess().getGradKeyword_1_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TIME__Alternatives_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTIMEAccess().getMsKeyword_1_0()); }
+
+ 'ms'
+
+{ after(grammarAccess.getTIMEAccess().getMsKeyword_1_0()); }
+)
+
+ |(
+{ before(grammarAccess.getTIMEAccess().getSKeyword_1_1()); }
+
+ 's'
+
+{ after(grammarAccess.getTIMEAccess().getSKeyword_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FREQ__Alternatives_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFREQAccess().getHzKeyword_1_0()); }
+
+ 'hz'
+
+{ after(grammarAccess.getFREQAccess().getHzKeyword_1_0()); }
+)
+
+ |(
+{ before(grammarAccess.getFREQAccess().getKhzKeyword_1_1()); }
+
+ 'khz'
+
+{ after(grammarAccess.getFREQAccess().getKhzKeyword_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Css_hash_class__TypeAlternatives_0_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCss_hash_classAccess().getTypeNumberSignKeyword_0_0_0()); }
+
+ '#'
+
+{ after(grammarAccess.getCss_hash_classAccess().getTypeNumberSignKeyword_0_0_0()); }
+)
+
+ |(
+{ before(grammarAccess.getCss_hash_classAccess().getTypeFullStopKeyword_0_0_1()); }
+
+ '.'
+
+{ after(grammarAccess.getCss_hash_classAccess().getTypeFullStopKeyword_0_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Combinator__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCombinatorAccess().getPlusSignKeyword_0()); }
+
+ '+'
+
+{ after(grammarAccess.getCombinatorAccess().getPlusSignKeyword_0()); }
+)
+
+ |(
+{ before(grammarAccess.getCombinatorAccess().getGreaterThanSignKeyword_1()); }
+
+ '>'
+
+{ after(grammarAccess.getCombinatorAccess().getGreaterThanSignKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Unary_operator__Alternatives
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getUnary_operatorAccess().getHyphenMinusKeyword_0()); }
+
+ '-'
+
+{ after(grammarAccess.getUnary_operatorAccess().getHyphenMinusKeyword_0()); }
+)
+
+ |(
+{ before(grammarAccess.getUnary_operatorAccess().getPlusSignKeyword_1()); }
+
+ '+'
+
+{ after(grammarAccess.getUnary_operatorAccess().getPlusSignKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+rule__Stylesheet__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Stylesheet__Group__0__Impl
+ rule__Stylesheet__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Stylesheet__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStylesheetAccess().getLocationAssignment_0()); }
+(rule__Stylesheet__LocationAssignment_0)?
+{ after(grammarAccess.getStylesheetAccess().getLocationAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Stylesheet__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Stylesheet__Group__1__Impl
+ rule__Stylesheet__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Stylesheet__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStylesheetAccess().getImportNameAssignment_1()); }
+(rule__Stylesheet__ImportNameAssignment_1)*
+{ after(grammarAccess.getStylesheetAccess().getImportNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Stylesheet__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Stylesheet__Group__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Stylesheet__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStylesheetAccess().getRulesetAssignment_2()); }
+(rule__Stylesheet__RulesetAssignment_2)*
+{ after(grammarAccess.getStylesheetAccess().getRulesetAssignment_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__Rules__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Rules__Group__0__Impl
+ rule__Rules__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Rules__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRulesAccess().getSelectorsAssignment_0()); }
+(rule__Rules__SelectorsAssignment_0)
+{ after(grammarAccess.getRulesAccess().getSelectorsAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Rules__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Rules__Group__1__Impl
+ rule__Rules__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Rules__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRulesAccess().getGroup_1()); }
+(rule__Rules__Group_1__0)*
+{ after(grammarAccess.getRulesAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Rules__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Rules__Group__2__Impl
+ rule__Rules__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Rules__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRulesAccess().getLeftCurlyBracketKeyword_2()); }
+
+ '{'
+
+{ after(grammarAccess.getRulesAccess().getLeftCurlyBracketKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Rules__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Rules__Group__3__Impl
+ rule__Rules__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Rules__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRulesAccess().getDeclarationsAssignment_3()); }
+(rule__Rules__DeclarationsAssignment_3)?
+{ after(grammarAccess.getRulesAccess().getDeclarationsAssignment_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Rules__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Rules__Group__4__Impl
+ rule__Rules__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Rules__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRulesAccess().getGroup_4()); }
+(rule__Rules__Group_4__0)*
+{ after(grammarAccess.getRulesAccess().getGroup_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Rules__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Rules__Group__5__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Rules__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRulesAccess().getRightCurlyBracketKeyword_5()); }
+
+ '}'
+
+{ after(grammarAccess.getRulesAccess().getRightCurlyBracketKeyword_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__Rules__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Rules__Group_1__0__Impl
+ rule__Rules__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Rules__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRulesAccess().getCommaKeyword_1_0()); }
+
+ ','
+
+{ after(grammarAccess.getRulesAccess().getCommaKeyword_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Rules__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Rules__Group_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Rules__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRulesAccess().getSelectorsAssignment_1_1()); }
+(rule__Rules__SelectorsAssignment_1_1)
+{ after(grammarAccess.getRulesAccess().getSelectorsAssignment_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Rules__Group_4__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Rules__Group_4__0__Impl
+ rule__Rules__Group_4__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Rules__Group_4__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRulesAccess().getSemicolonKeyword_4_0()); }
+
+ ';'
+
+{ after(grammarAccess.getRulesAccess().getSemicolonKeyword_4_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Rules__Group_4__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Rules__Group_4__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Rules__Group_4__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRulesAccess().getDeclarationsAssignment_4_1()); }
+(rule__Rules__DeclarationsAssignment_4_1)?
+{ after(grammarAccess.getRulesAccess().getDeclarationsAssignment_4_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Css_import__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Css_import__Group__0__Impl
+ rule__Css_import__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Css_import__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCss_importAccess().getImportKeyword_0()); }
+
+ '@import'
+
+{ after(grammarAccess.getCss_importAccess().getImportKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Css_import__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Css_import__Group__1__Impl
+ rule__Css_import__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Css_import__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCss_importAccess().getAlternatives_1()); }
+(rule__Css_import__Alternatives_1)
+{ after(grammarAccess.getCss_importAccess().getAlternatives_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Css_import__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Css_import__Group__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Css_import__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCss_importAccess().getSemicolonKeyword_2()); }
+
+ ';'
+
+{ after(grammarAccess.getCss_importAccess().getSemicolonKeyword_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__Selector__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Selector__Group__0__Impl
+ rule__Selector__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Selector__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSelectorAccess().getSimpleselectorsAssignment_0()); }
+(rule__Selector__SimpleselectorsAssignment_0)
+{ after(grammarAccess.getSelectorAccess().getSimpleselectorsAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Selector__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Selector__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Selector__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSelectorAccess().getAlternatives_1()); }
+(rule__Selector__Alternatives_1)?
+{ after(grammarAccess.getSelectorAccess().getAlternatives_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Selector__Group_1_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Selector__Group_1_0__0__Impl
+ rule__Selector__Group_1_0__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Selector__Group_1_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSelectorAccess().getCombinatorAssignment_1_0_0()); }
+(rule__Selector__CombinatorAssignment_1_0_0)
+{ after(grammarAccess.getSelectorAccess().getCombinatorAssignment_1_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Selector__Group_1_0__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Selector__Group_1_0__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Selector__Group_1_0__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSelectorAccess().getSelectorAssignment_1_0_1()); }
+(rule__Selector__SelectorAssignment_1_0_1)
+{ after(grammarAccess.getSelectorAccess().getSelectorAssignment_1_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Selector__Group_1_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Selector__Group_1_1__0__Impl
+ rule__Selector__Group_1_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Selector__Group_1_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+(
+{ before(grammarAccess.getSelectorAccess().getWSTerminalRuleCall_1_1_0()); }
+( RULE_WS)
+{ after(grammarAccess.getSelectorAccess().getWSTerminalRuleCall_1_1_0()); }
+)
+(
+{ before(grammarAccess.getSelectorAccess().getWSTerminalRuleCall_1_1_0()); }
+( RULE_WS)*
+{ after(grammarAccess.getSelectorAccess().getWSTerminalRuleCall_1_1_0()); }
+)
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Selector__Group_1_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Selector__Group_1_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Selector__Group_1_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSelectorAccess().getGroup_1_1_1()); }
+(rule__Selector__Group_1_1_1__0)?
+{ after(grammarAccess.getSelectorAccess().getGroup_1_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Selector__Group_1_1_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Selector__Group_1_1_1__0__Impl
+ rule__Selector__Group_1_1_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Selector__Group_1_1_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSelectorAccess().getCombinatorAssignment_1_1_1_0()); }
+(rule__Selector__CombinatorAssignment_1_1_1_0)?
+{ after(grammarAccess.getSelectorAccess().getCombinatorAssignment_1_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Selector__Group_1_1_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Selector__Group_1_1_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Selector__Group_1_1_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSelectorAccess().getSelectorAssignment_1_1_1_1()); }
+(rule__Selector__SelectorAssignment_1_1_1_1)
+{ after(grammarAccess.getSelectorAccess().getSelectorAssignment_1_1_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Simple_selector__Group_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Simple_selector__Group_0__0__Impl
+ rule__Simple_selector__Group_0__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Simple_selector__Group_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSimple_selectorAccess().getElementAssignment_0_0()); }
+(rule__Simple_selector__ElementAssignment_0_0)
+{ after(grammarAccess.getSimple_selectorAccess().getElementAssignment_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Simple_selector__Group_0__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Simple_selector__Group_0__1__Impl
+ rule__Simple_selector__Group_0__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Simple_selector__Group_0__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSimple_selectorAccess().getIdAssignment_0_1()); }
+(rule__Simple_selector__IdAssignment_0_1)*
+{ after(grammarAccess.getSimple_selectorAccess().getIdAssignment_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Simple_selector__Group_0__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Simple_selector__Group_0__2__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Simple_selector__Group_0__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSimple_selectorAccess().getPseudoAssignment_0_2()); }
+(rule__Simple_selector__PseudoAssignment_0_2)*
+{ after(grammarAccess.getSimple_selectorAccess().getPseudoAssignment_0_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+rule__Pseudo__Group_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Pseudo__Group_0__0__Impl
+ rule__Pseudo__Group_0__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Pseudo__Group_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPseudoAccess().getColonKeyword_0_0()); }
+
+ ':'
+
+{ after(grammarAccess.getPseudoAccess().getColonKeyword_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Pseudo__Group_0__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Pseudo__Group_0__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Pseudo__Group_0__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPseudoAccess().getNameAssignment_0_1()); }
+(rule__Pseudo__NameAssignment_0_1)
+{ after(grammarAccess.getPseudoAccess().getNameAssignment_0_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Pseudo__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Pseudo__Group_1__0__Impl
+ rule__Pseudo__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Pseudo__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPseudoAccess().getFunctionAssignment_1_0()); }
+(rule__Pseudo__FunctionAssignment_1_0)
+{ after(grammarAccess.getPseudoAccess().getFunctionAssignment_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Pseudo__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Pseudo__Group_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Pseudo__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPseudoAccess().getNameAssignment_1_1()); }
+(rule__Pseudo__NameAssignment_1_1)?
+{ after(grammarAccess.getPseudoAccess().getNameAssignment_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Declaration__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Declaration__Group__0__Impl
+ rule__Declaration__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Declaration__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDeclarationAccess().getPropertyAssignment_0()); }
+(rule__Declaration__PropertyAssignment_0)
+{ after(grammarAccess.getDeclarationAccess().getPropertyAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Declaration__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Declaration__Group__1__Impl
+ rule__Declaration__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Declaration__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDeclarationAccess().getColonKeyword_1()); }
+
+ ':'
+
+{ after(grammarAccess.getDeclarationAccess().getColonKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Declaration__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Declaration__Group__2__Impl
+ rule__Declaration__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Declaration__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDeclarationAccess().getExprAssignment_2()); }
+(rule__Declaration__ExprAssignment_2)
+{ after(grammarAccess.getDeclarationAccess().getExprAssignment_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Declaration__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Declaration__Group__3__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Declaration__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDeclarationAccess().getPriorityAssignment_3()); }
+(rule__Declaration__PriorityAssignment_3)?
+{ after(grammarAccess.getDeclarationAccess().getPriorityAssignment_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+rule__Expr__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Expr__Group__0__Impl
+ rule__Expr__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Expr__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getExprAccess().getTermAssignment_0()); }
+(rule__Expr__TermAssignment_0)
+{ after(grammarAccess.getExprAccess().getTermAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Expr__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Expr__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Expr__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getExprAccess().getGroup_1()); }
+(rule__Expr__Group_1__0)*
+{ after(grammarAccess.getExprAccess().getGroup_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Expr__Group_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Expr__Group_1__0__Impl
+ rule__Expr__Group_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Expr__Group_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getExprAccess().getOperatorsAssignment_1_0()); }
+(rule__Expr__OperatorsAssignment_1_0)?
+{ after(grammarAccess.getExprAccess().getOperatorsAssignment_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Expr__Group_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Expr__Group_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Expr__Group_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getExprAccess().getTermAssignment_1_1()); }
+(rule__Expr__TermAssignment_1_1)
+{ after(grammarAccess.getExprAccess().getTermAssignment_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Term__Group_0__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Term__Group_0__0__Impl
+ rule__Term__Group_0__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Term__Group_0__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTermAccess().getUnaryAssignment_0_0()); }
+(rule__Term__UnaryAssignment_0_0)?
+{ after(grammarAccess.getTermAccess().getUnaryAssignment_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Term__Group_0__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Term__Group_0__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Term__Group_0__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTermAccess().getNumberAssignment_0_1()); }
+(rule__Term__NumberAssignment_0_1)
+{ after(grammarAccess.getTermAccess().getNumberAssignment_0_1()); }
+)
+
+;
+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().getExprAssignment_2()); }
+(rule__Function__ExprAssignment_2)
+{ after(grammarAccess.getFunctionAccess().getExprAssignment_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__URI__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__URI__Group__0__Impl
+ rule__URI__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__URI__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getURIAccess().getUrlKeyword_0()); }
+
+ 'url'
+
+{ after(grammarAccess.getURIAccess().getUrlKeyword_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__URI__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__URI__Group__1__Impl
+ rule__URI__Group__2
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__URI__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getURIAccess().getLeftParenthesisKeyword_1()); }
+
+ '('
+
+{ after(grammarAccess.getURIAccess().getLeftParenthesisKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__URI__Group__2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__URI__Group__2__Impl
+ rule__URI__Group__3
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__URI__Group__2__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getURIAccess().getURIAction_2()); }
+(
+
+)
+{ after(grammarAccess.getURIAccess().getURIAction_2()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__URI__Group__3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__URI__Group__3__Impl
+ rule__URI__Group__4
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__URI__Group__3__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getURIAccess().getAlternatives_3()); }
+(rule__URI__Alternatives_3)*
+{ after(grammarAccess.getURIAccess().getAlternatives_3()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__URI__Group__4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__URI__Group__4__Impl
+ rule__URI__Group__5
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__URI__Group__4__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getURIAccess().getGroup_4()); }
+(rule__URI__Group_4__0)?
+{ after(grammarAccess.getURIAccess().getGroup_4()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__URI__Group__5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__URI__Group__5__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__URI__Group__5__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getURIAccess().getRightParenthesisKeyword_5()); }
+
+ ')'
+
+{ after(grammarAccess.getURIAccess().getRightParenthesisKeyword_5()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+rule__URI__Group_3_1__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__URI__Group_3_1__0__Impl
+ rule__URI__Group_3_1__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__URI__Group_3_1__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getURIAccess().getAlternatives_3_1_0()); }
+(rule__URI__Alternatives_3_1_0)
+{ after(grammarAccess.getURIAccess().getAlternatives_3_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__URI__Group_3_1__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__URI__Group_3_1__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__URI__Group_3_1__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getURIAccess().getIdAssignment_3_1_1()); }
+(rule__URI__IdAssignment_3_1_1)
+{ after(grammarAccess.getURIAccess().getIdAssignment_3_1_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__URI__Group_4__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__URI__Group_4__0__Impl
+ rule__URI__Group_4__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__URI__Group_4__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getURIAccess().getFullStopKeyword_4_0()); }
+
+ '.'
+
+{ after(grammarAccess.getURIAccess().getFullStopKeyword_4_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__URI__Group_4__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__URI__Group_4__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__URI__Group_4__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getURIAccess().getIdAssignment_4_1()); }
+(rule__URI__IdAssignment_4_1)
+{ after(grammarAccess.getURIAccess().getIdAssignment_4_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__PERCENTAGE__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PERCENTAGE__Group__0__Impl
+ rule__PERCENTAGE__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PERCENTAGE__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPERCENTAGEAccess().getINTTerminalRuleCall_0()); }
+ RULE_INT
+{ after(grammarAccess.getPERCENTAGEAccess().getINTTerminalRuleCall_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__PERCENTAGE__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__PERCENTAGE__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__PERCENTAGE__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPERCENTAGEAccess().getPercentSignKeyword_1()); }
+
+ '%'
+
+{ after(grammarAccess.getPERCENTAGEAccess().getPercentSignKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__EMS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__EMS__Group__0__Impl
+ rule__EMS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__EMS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getEMSAccess().getINTTerminalRuleCall_0()); }
+ RULE_INT
+{ after(grammarAccess.getEMSAccess().getINTTerminalRuleCall_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__EMS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__EMS__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__EMS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getEMSAccess().getEmKeyword_1()); }
+
+ 'em'
+
+{ after(grammarAccess.getEMSAccess().getEmKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__EXS__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__EXS__Group__0__Impl
+ rule__EXS__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__EXS__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getEXSAccess().getINTTerminalRuleCall_0()); }
+ RULE_INT
+{ after(grammarAccess.getEXSAccess().getINTTerminalRuleCall_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__EXS__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__EXS__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__EXS__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getEXSAccess().getExKeyword_1()); }
+
+ 'ex'
+
+{ after(grammarAccess.getEXSAccess().getExKeyword_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__LENGTH__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LENGTH__Group__0__Impl
+ rule__LENGTH__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LENGTH__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLENGTHAccess().getINTTerminalRuleCall_0()); }
+ RULE_INT
+{ after(grammarAccess.getLENGTHAccess().getINTTerminalRuleCall_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__LENGTH__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__LENGTH__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__LENGTH__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getLENGTHAccess().getAlternatives_1()); }
+(rule__LENGTH__Alternatives_1)
+{ after(grammarAccess.getLENGTHAccess().getAlternatives_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__ANGLE__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ANGLE__Group__0__Impl
+ rule__ANGLE__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ANGLE__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getANGLEAccess().getINTTerminalRuleCall_0()); }
+ RULE_INT
+{ after(grammarAccess.getANGLEAccess().getINTTerminalRuleCall_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__ANGLE__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__ANGLE__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__ANGLE__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getANGLEAccess().getAlternatives_1()); }
+(rule__ANGLE__Alternatives_1)
+{ after(grammarAccess.getANGLEAccess().getAlternatives_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__TIME__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TIME__Group__0__Impl
+ rule__TIME__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TIME__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTIMEAccess().getINTTerminalRuleCall_0()); }
+ RULE_INT
+{ after(grammarAccess.getTIMEAccess().getINTTerminalRuleCall_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__TIME__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__TIME__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__TIME__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTIMEAccess().getAlternatives_1()); }
+(rule__TIME__Alternatives_1)
+{ after(grammarAccess.getTIMEAccess().getAlternatives_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__FREQ__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__FREQ__Group__0__Impl
+ rule__FREQ__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FREQ__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFREQAccess().getINTTerminalRuleCall_0()); }
+ RULE_INT
+{ after(grammarAccess.getFREQAccess().getINTTerminalRuleCall_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__FREQ__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__FREQ__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__FREQ__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFREQAccess().getAlternatives_1()); }
+(rule__FREQ__Alternatives_1)
+{ after(grammarAccess.getFREQAccess().getAlternatives_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+rule__Css_hash_class__Group__0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Css_hash_class__Group__0__Impl
+ rule__Css_hash_class__Group__1
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Css_hash_class__Group__0__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCss_hash_classAccess().getTypeAssignment_0()); }
+(rule__Css_hash_class__TypeAssignment_0)
+{ after(grammarAccess.getCss_hash_classAccess().getTypeAssignment_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+rule__Css_hash_class__Group__1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+ rule__Css_hash_class__Group__1__Impl
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Css_hash_class__Group__1__Impl
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCss_hash_classAccess().getNameAssignment_1()); }
+(rule__Css_hash_class__NameAssignment_1)
+{ after(grammarAccess.getCss_hash_classAccess().getNameAssignment_1()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+
+
+
+
+
+rule__Stylesheet__LocationAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStylesheetAccess().getLocationSTRINGTerminalRuleCall_0_0()); }
+ RULE_STRING{ after(grammarAccess.getStylesheetAccess().getLocationSTRINGTerminalRuleCall_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Stylesheet__ImportNameAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStylesheetAccess().getImportNameCss_importParserRuleCall_1_0()); }
+ rulecss_import{ after(grammarAccess.getStylesheetAccess().getImportNameCss_importParserRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Stylesheet__RulesetAssignment_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getStylesheetAccess().getRulesetRulesParserRuleCall_2_0()); }
+ ruleRules{ after(grammarAccess.getStylesheetAccess().getRulesetRulesParserRuleCall_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Rules__SelectorsAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRulesAccess().getSelectorsSelectorParserRuleCall_0_0()); }
+ ruleselector{ after(grammarAccess.getRulesAccess().getSelectorsSelectorParserRuleCall_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Rules__SelectorsAssignment_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRulesAccess().getSelectorsSelectorParserRuleCall_1_1_0()); }
+ ruleselector{ after(grammarAccess.getRulesAccess().getSelectorsSelectorParserRuleCall_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Rules__DeclarationsAssignment_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRulesAccess().getDeclarationsDeclarationParserRuleCall_3_0()); }
+ ruledeclaration{ after(grammarAccess.getRulesAccess().getDeclarationsDeclarationParserRuleCall_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Rules__DeclarationsAssignment_4_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getRulesAccess().getDeclarationsDeclarationParserRuleCall_4_1_0()); }
+ ruledeclaration{ after(grammarAccess.getRulesAccess().getDeclarationsDeclarationParserRuleCall_4_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Css_import__String_nameAssignment_1_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCss_importAccess().getString_nameSTRINGTerminalRuleCall_1_0_0()); }
+ RULE_STRING{ after(grammarAccess.getCss_importAccess().getString_nameSTRINGTerminalRuleCall_1_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Selector__SimpleselectorsAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSelectorAccess().getSimpleselectorsSimple_selectorParserRuleCall_0_0()); }
+ rulesimple_selector{ after(grammarAccess.getSelectorAccess().getSimpleselectorsSimple_selectorParserRuleCall_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Selector__CombinatorAssignment_1_0_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSelectorAccess().getCombinatorCombinatorParserRuleCall_1_0_0_0()); }
+ rulecombinator{ after(grammarAccess.getSelectorAccess().getCombinatorCombinatorParserRuleCall_1_0_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Selector__SelectorAssignment_1_0_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSelectorAccess().getSelectorSelectorParserRuleCall_1_0_1_0()); }
+ ruleselector{ after(grammarAccess.getSelectorAccess().getSelectorSelectorParserRuleCall_1_0_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Selector__CombinatorAssignment_1_1_1_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSelectorAccess().getCombinatorCombinatorParserRuleCall_1_1_1_0_0()); }
+ rulecombinator{ after(grammarAccess.getSelectorAccess().getCombinatorCombinatorParserRuleCall_1_1_1_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Selector__SelectorAssignment_1_1_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSelectorAccess().getSelectorSelectorParserRuleCall_1_1_1_1_0()); }
+ ruleselector{ after(grammarAccess.getSelectorAccess().getSelectorSelectorParserRuleCall_1_1_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Simple_selector__ElementAssignment_0_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSimple_selectorAccess().getElementElement_nameParserRuleCall_0_0_0()); }
+ ruleelement_name{ after(grammarAccess.getSimple_selectorAccess().getElementElement_nameParserRuleCall_0_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Simple_selector__IdAssignment_0_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSimple_selectorAccess().getIdCss_hash_classParserRuleCall_0_1_0()); }
+ rulecss_hash_class{ after(grammarAccess.getSimple_selectorAccess().getIdCss_hash_classParserRuleCall_0_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Simple_selector__PseudoAssignment_0_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSimple_selectorAccess().getPseudoPseudoParserRuleCall_0_2_0()); }
+ rulepseudo{ after(grammarAccess.getSimple_selectorAccess().getPseudoPseudoParserRuleCall_0_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Simple_selector__IdAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getSimple_selectorAccess().getIdCss_hash_classParserRuleCall_1_0()); }
+ rulecss_hash_class{ after(grammarAccess.getSimple_selectorAccess().getIdCss_hash_classParserRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Pseudo__NameAssignment_0_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPseudoAccess().getNameIdentTerminalRuleCall_0_1_0()); }
+ RULE_IDENT{ after(grammarAccess.getPseudoAccess().getNameIdentTerminalRuleCall_0_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Pseudo__FunctionAssignment_1_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPseudoAccess().getFunctionFunctionParserRuleCall_1_0_0()); }
+ rulefunction{ after(grammarAccess.getPseudoAccess().getFunctionFunctionParserRuleCall_1_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Pseudo__NameAssignment_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getPseudoAccess().getNameIdentTerminalRuleCall_1_1_0()); }
+ RULE_IDENT{ after(grammarAccess.getPseudoAccess().getNameIdentTerminalRuleCall_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Element_name__NameAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getElement_nameAccess().getNameIdentTerminalRuleCall_0_0()); }
+ RULE_IDENT{ after(grammarAccess.getElement_nameAccess().getNameIdentTerminalRuleCall_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Element_name__NameAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getElement_nameAccess().getNameAsteriskKeyword_1_0()); }
+(
+{ before(grammarAccess.getElement_nameAccess().getNameAsteriskKeyword_1_0()); }
+
+ '*'
+
+{ after(grammarAccess.getElement_nameAccess().getNameAsteriskKeyword_1_0()); }
+)
+
+{ after(grammarAccess.getElement_nameAccess().getNameAsteriskKeyword_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Declaration__PropertyAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDeclarationAccess().getPropertyIdentTerminalRuleCall_0_0()); }
+ RULE_IDENT{ after(grammarAccess.getDeclarationAccess().getPropertyIdentTerminalRuleCall_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Declaration__ExprAssignment_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDeclarationAccess().getExprExprParserRuleCall_2_0()); }
+ ruleexpr{ after(grammarAccess.getDeclarationAccess().getExprExprParserRuleCall_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Declaration__PriorityAssignment_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getDeclarationAccess().getPriorityImportantKeyword_3_0()); }
+(
+{ before(grammarAccess.getDeclarationAccess().getPriorityImportantKeyword_3_0()); }
+
+ '!important'
+
+{ after(grammarAccess.getDeclarationAccess().getPriorityImportantKeyword_3_0()); }
+)
+
+{ after(grammarAccess.getDeclarationAccess().getPriorityImportantKeyword_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Expr__TermAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getExprAccess().getTermTermParserRuleCall_0_0()); }
+ ruleterm{ after(grammarAccess.getExprAccess().getTermTermParserRuleCall_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Expr__OperatorsAssignment_1_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getExprAccess().getOperatorsAlternatives_1_0_0()); }
+(rule__Expr__OperatorsAlternatives_1_0_0)
+{ after(grammarAccess.getExprAccess().getOperatorsAlternatives_1_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Expr__TermAssignment_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getExprAccess().getTermTermParserRuleCall_1_1_0()); }
+ ruleterm{ after(grammarAccess.getExprAccess().getTermTermParserRuleCall_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Term__UnaryAssignment_0_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTermAccess().getUnaryUnary_operatorParserRuleCall_0_0_0()); }
+ ruleunary_operator{ after(grammarAccess.getTermAccess().getUnaryUnary_operatorParserRuleCall_0_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Term__NumberAssignment_0_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTermAccess().getNumberUnary_numbersParserRuleCall_0_1_0()); }
+ ruleunary_numbers{ after(grammarAccess.getTermAccess().getNumberUnary_numbersParserRuleCall_0_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Term__NameAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTermAccess().getNameSTRINGTerminalRuleCall_1_0()); }
+ RULE_STRING{ after(grammarAccess.getTermAccess().getNameSTRINGTerminalRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Term__IdAssignment_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTermAccess().getIdIdentTerminalRuleCall_2_0()); }
+ RULE_IDENT{ after(grammarAccess.getTermAccess().getIdIdentTerminalRuleCall_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Term__UriAssignment_3
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTermAccess().getUriURIParserRuleCall_3_0()); }
+ ruleURI{ after(grammarAccess.getTermAccess().getUriURIParserRuleCall_3_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Term__ColorAssignment_4
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTermAccess().getColorHexdigitsTerminalRuleCall_4_0()); }
+ RULE_HEXDIGITS{ after(grammarAccess.getTermAccess().getColorHexdigitsTerminalRuleCall_4_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Term__FunctionAssignment_5
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getTermAccess().getFunctionFunctionParserRuleCall_5_0()); }
+ rulefunction{ after(grammarAccess.getTermAccess().getFunctionFunctionParserRuleCall_5_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Function__NameAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFunctionAccess().getNameIdentTerminalRuleCall_0_0()); }
+ RULE_IDENT{ after(grammarAccess.getFunctionAccess().getNameIdentTerminalRuleCall_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Function__ExprAssignment_2
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getFunctionAccess().getExprExprParserRuleCall_2_0()); }
+ ruleexpr{ after(grammarAccess.getFunctionAccess().getExprExprParserRuleCall_2_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__URI__NameAssignment_3_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getURIAccess().getNameSTRINGTerminalRuleCall_3_0_0()); }
+ RULE_STRING{ after(grammarAccess.getURIAccess().getNameSTRINGTerminalRuleCall_3_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__URI__IdAssignment_3_1_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getURIAccess().getIdIdentTerminalRuleCall_3_1_1_0()); }
+ RULE_IDENT{ after(grammarAccess.getURIAccess().getIdIdentTerminalRuleCall_3_1_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__URI__IdAssignment_4_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getURIAccess().getIdIdentTerminalRuleCall_4_1_0()); }
+ RULE_IDENT{ after(grammarAccess.getURIAccess().getIdIdentTerminalRuleCall_4_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Css_hash_class__TypeAssignment_0
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCss_hash_classAccess().getTypeAlternatives_0_0()); }
+(rule__Css_hash_class__TypeAlternatives_0_0)
+{ after(grammarAccess.getCss_hash_classAccess().getTypeAlternatives_0_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+rule__Css_hash_class__NameAssignment_1
+ @init {
+ int stackSize = keepStackSize();
+ }
+:
+(
+{ before(grammarAccess.getCss_hash_classAccess().getNameIdentTerminalRuleCall_1_0()); }
+ RULE_IDENT{ after(grammarAccess.getCss_hash_classAccess().getNameIdentTerminalRuleCall_1_0()); }
+)
+
+;
+finally {
+ restoreStackSize(stackSize);
+}
+
+
+RULE_HEXDIGITS : '#' ('0'..'9'|'a'..'f'|'A'..'F')+;
+
+RULE_IDENT : ('_'|'-'|'a'..'z'|'A'..'Z') ('_'|'-'|'a'..'z'|'A'..'Z'|'0'..'9')*;
+
+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/bundles/org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.tokens b/bundles/org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.tokens
new file mode 100644
index 00000000..4fdbc552
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.tokens
@@ -0,0 +1,77 @@
+RULE_ID=9
+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=12
+T__21=21
+T__20=20
+T__19=19
+T__16=16
+T__15=15
+T__18=18
+T__17=17
+T__14=14
+T__13=13
+RULE_INT=4
+T__42=42
+T__43=43
+T__40=40
+T__41=41
+T__46=46
+T__44=44
+T__45=45
+RULE_SL_COMMENT=11
+RULE_ML_COMMENT=10
+T__30=30
+T__31=31
+T__32=32
+RULE_STRING=6
+T__33=33
+T__34=34
+T__35=35
+T__36=36
+T__37=37
+T__38=38
+RULE_IDENT=7
+T__39=39
+RULE_HEXDIGITS=8
+RULE_WS=5
+'deg'=22
+'#'=29
+'ms'=25
+'/'=13
+'rad'=23
+'hz'=27
+'>'=32
+'pc'=21
+'\\'=15
+';'=36
+'@import'=37
+'cm'=17
+'+'=31
+')'=40
+'.'=30
+'%'=42
+'url'=41
+'}'=35
+'ex'=44
+'grad'=24
+'{'=34
+'pt'=20
+'mm'=18
+'em'=43
+'s'=26
+'('=39
+':'=38
+'khz'=28
+'*'=45
+'-'=33
+','=14
+'!important'=46
+'in'=19
+'px'=16
diff --git a/bundles/org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSSLexer.java b/bundles/org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSSLexer.java
new file mode 100644
index 00000000..fc197f77
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSSLexer.java
@@ -0,0 +1,2018 @@
+package org.eclipse.e4.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 InternalCSSLexer extends Lexer {
+ public static final int RULE_ID=9;
+ 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 T__21=21;
+ public static final int RULE_ANY_OTHER=12;
+ public static final int T__20=20;
+ public static final int EOF=-1;
+ public static final int T__19=19;
+ public static final int T__16=16;
+ 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__14=14;
+ public static final int T__13=13;
+ public static final int RULE_INT=4;
+ 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__44=44;
+ public static final int T__45=45;
+ public static final int RULE_SL_COMMENT=11;
+ public static final int RULE_ML_COMMENT=10;
+ 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=6;
+ 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 RULE_IDENT=7;
+ public static final int T__39=39;
+ public static final int RULE_HEXDIGITS=8;
+ public static final int RULE_WS=5;
+
+ // delegates
+ // delegators
+
+ public InternalCSSLexer() {;}
+ public InternalCSSLexer(CharStream input) {
+ this(input, new RecognizerSharedState());
+ }
+ public InternalCSSLexer(CharStream input, RecognizerSharedState state) {
+ super(input,state);
+
+ }
+ public String getGrammarFileName() { return "../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g"; }
+
+ // $ANTLR start "T__13"
+ public final void mT__13() throws RecognitionException {
+ try {
+ int _type = T__13;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:11:7: ( '/' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:11:9: '/'
+ {
+ match('/');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__13"
+
+ // $ANTLR start "T__14"
+ public final void mT__14() throws RecognitionException {
+ try {
+ int _type = T__14;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:12:7: ( ',' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:12:9: ','
+ {
+ match(',');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__14"
+
+ // $ANTLR start "T__15"
+ public final void mT__15() throws RecognitionException {
+ try {
+ int _type = T__15;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:13:7: ( '\\\\' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:13:9: '\\\\'
+ {
+ match('\\');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__15"
+
+ // $ANTLR start "T__16"
+ public final void mT__16() throws RecognitionException {
+ try {
+ int _type = T__16;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:14:7: ( 'px' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:14:9: 'px'
+ {
+ match("px");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__16"
+
+ // $ANTLR start "T__17"
+ public final void mT__17() throws RecognitionException {
+ try {
+ int _type = T__17;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:15:7: ( 'cm' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:15:9: 'cm'
+ {
+ match("cm");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__17"
+
+ // $ANTLR start "T__18"
+ public final void mT__18() throws RecognitionException {
+ try {
+ int _type = T__18;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:16:7: ( 'mm' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:16:9: 'mm'
+ {
+ match("mm");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__18"
+
+ // $ANTLR start "T__19"
+ public final void mT__19() throws RecognitionException {
+ try {
+ int _type = T__19;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:17:7: ( 'in' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:17:9: 'in'
+ {
+ match("in");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__19"
+
+ // $ANTLR start "T__20"
+ public final void mT__20() throws RecognitionException {
+ try {
+ int _type = T__20;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:18:7: ( 'pt' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:18:9: 'pt'
+ {
+ match("pt");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__20"
+
+ // $ANTLR start "T__21"
+ public final void mT__21() throws RecognitionException {
+ try {
+ int _type = T__21;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:19:7: ( 'pc' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:19:9: 'pc'
+ {
+ match("pc");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__21"
+
+ // $ANTLR start "T__22"
+ public final void mT__22() throws RecognitionException {
+ try {
+ int _type = T__22;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:20:7: ( 'deg' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:20:9: 'deg'
+ {
+ match("deg");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__22"
+
+ // $ANTLR start "T__23"
+ public final void mT__23() throws RecognitionException {
+ try {
+ int _type = T__23;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:21:7: ( 'rad' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:21:9: 'rad'
+ {
+ match("rad");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__23"
+
+ // $ANTLR start "T__24"
+ public final void mT__24() throws RecognitionException {
+ try {
+ int _type = T__24;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:22:7: ( 'grad' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:22:9: 'grad'
+ {
+ match("grad");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__24"
+
+ // $ANTLR start "T__25"
+ public final void mT__25() throws RecognitionException {
+ try {
+ int _type = T__25;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:23:7: ( 'ms' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:23:9: 'ms'
+ {
+ match("ms");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__25"
+
+ // $ANTLR start "T__26"
+ public final void mT__26() throws RecognitionException {
+ try {
+ int _type = T__26;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:24:7: ( 's' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:24:9: 's'
+ {
+ match('s');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__26"
+
+ // $ANTLR start "T__27"
+ public final void mT__27() throws RecognitionException {
+ try {
+ int _type = T__27;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:25:7: ( 'hz' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:25:9: 'hz'
+ {
+ match("hz");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__27"
+
+ // $ANTLR start "T__28"
+ public final void mT__28() throws RecognitionException {
+ try {
+ int _type = T__28;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:26:7: ( 'khz' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:26:9: 'khz'
+ {
+ match("khz");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__28"
+
+ // $ANTLR start "T__29"
+ public final void mT__29() throws RecognitionException {
+ try {
+ int _type = T__29;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:27:7: ( '#' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:27:9: '#'
+ {
+ match('#');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__29"
+
+ // $ANTLR start "T__30"
+ public final void mT__30() throws RecognitionException {
+ try {
+ int _type = T__30;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:28:7: ( '.' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:28:9: '.'
+ {
+ match('.');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__30"
+
+ // $ANTLR start "T__31"
+ public final void mT__31() throws RecognitionException {
+ try {
+ int _type = T__31;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:29:7: ( '+' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:29:9: '+'
+ {
+ match('+');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__31"
+
+ // $ANTLR start "T__32"
+ public final void mT__32() throws RecognitionException {
+ try {
+ int _type = T__32;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:30:7: ( '>' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:30:9: '>'
+ {
+ match('>');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__32"
+
+ // $ANTLR start "T__33"
+ public final void mT__33() throws RecognitionException {
+ try {
+ int _type = T__33;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:31:7: ( '-' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:31:9: '-'
+ {
+ match('-');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__33"
+
+ // $ANTLR start "T__34"
+ public final void mT__34() throws RecognitionException {
+ try {
+ int _type = T__34;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:32:7: ( '{' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:32:9: '{'
+ {
+ match('{');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__34"
+
+ // $ANTLR start "T__35"
+ public final void mT__35() throws RecognitionException {
+ try {
+ int _type = T__35;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:33:7: ( '}' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:33:9: '}'
+ {
+ match('}');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__35"
+
+ // $ANTLR start "T__36"
+ public final void mT__36() throws RecognitionException {
+ try {
+ int _type = T__36;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:34:7: ( ';' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:34:9: ';'
+ {
+ match(';');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__36"
+
+ // $ANTLR start "T__37"
+ public final void mT__37() throws RecognitionException {
+ try {
+ int _type = T__37;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:35:7: ( '@import' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:35:9: '@import'
+ {
+ match("@import");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__37"
+
+ // $ANTLR start "T__38"
+ public final void mT__38() throws RecognitionException {
+ try {
+ int _type = T__38;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:36:7: ( ':' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:36:9: ':'
+ {
+ match(':');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__38"
+
+ // $ANTLR start "T__39"
+ public final void mT__39() throws RecognitionException {
+ try {
+ int _type = T__39;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:37:7: ( '(' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:37:9: '('
+ {
+ match('(');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__39"
+
+ // $ANTLR start "T__40"
+ public final void mT__40() throws RecognitionException {
+ try {
+ int _type = T__40;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:38:7: ( ')' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:38:9: ')'
+ {
+ match(')');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__40"
+
+ // $ANTLR start "T__41"
+ public final void mT__41() throws RecognitionException {
+ try {
+ int _type = T__41;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:39:7: ( 'url' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:39:9: 'url'
+ {
+ match("url");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__41"
+
+ // $ANTLR start "T__42"
+ public final void mT__42() throws RecognitionException {
+ try {
+ int _type = T__42;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:40:7: ( '%' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:40:9: '%'
+ {
+ match('%');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__42"
+
+ // $ANTLR start "T__43"
+ public final void mT__43() throws RecognitionException {
+ try {
+ int _type = T__43;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:41:7: ( 'em' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:41:9: 'em'
+ {
+ match("em");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__43"
+
+ // $ANTLR start "T__44"
+ public final void mT__44() throws RecognitionException {
+ try {
+ int _type = T__44;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:42:7: ( 'ex' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:42:9: 'ex'
+ {
+ match("ex");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__44"
+
+ // $ANTLR start "T__45"
+ public final void mT__45() throws RecognitionException {
+ try {
+ int _type = T__45;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:43:7: ( '*' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:43:9: '*'
+ {
+ match('*');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__45"
+
+ // $ANTLR start "T__46"
+ public final void mT__46() throws RecognitionException {
+ try {
+ int _type = T__46;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:44:7: ( '!important' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:44:9: '!important'
+ {
+ match("!important");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__46"
+
+ // $ANTLR start "RULE_HEXDIGITS"
+ public final void mRULE_HEXDIGITS() throws RecognitionException {
+ try {
+ int _type = RULE_HEXDIGITS;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4113:16: ( '#' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4113:18: '#' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
+ {
+ match('#');
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4113:22: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
+ int cnt1=0;
+ loop1:
+ do {
+ int alt1=2;
+ int LA1_0 = input.LA(1);
+
+ if ( ((LA1_0>='0' && LA1_0<='9')||(LA1_0>='A' && LA1_0<='F')||(LA1_0>='a' && LA1_0<='f')) ) {
+ alt1=1;
+ }
+
+
+ switch (alt1) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:
+ {
+ if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ if ( cnt1 >= 1 ) break loop1;
+ EarlyExitException eee =
+ new EarlyExitException(1, input);
+ throw eee;
+ }
+ cnt1++;
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_HEXDIGITS"
+
+ // $ANTLR start "RULE_IDENT"
+ public final void mRULE_IDENT() throws RecognitionException {
+ try {
+ int _type = RULE_IDENT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4115:12: ( ( '_' | '-' | 'a' .. 'z' | 'A' .. 'Z' ) ( '_' | '-' | 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' )* )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4115:14: ( '_' | '-' | 'a' .. 'z' | 'A' .. 'Z' ) ( '_' | '-' | 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' )*
+ {
+ if ( input.LA(1)=='-'||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4115:42: ( '_' | '-' | 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' )*
+ loop2:
+ do {
+ int alt2=2;
+ int LA2_0 = input.LA(1);
+
+ if ( (LA2_0=='-'||(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.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:
+ {
+ if ( input.LA(1)=='-'||(input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop2;
+ }
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_IDENT"
+
+ // $ANTLR start "RULE_ID"
+ public final void mRULE_ID() throws RecognitionException {
+ try {
+ int _type = RULE_ID;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4117:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4117:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4117:11: ( '^' )?
+ int alt3=2;
+ int LA3_0 = input.LA(1);
+
+ if ( (LA3_0=='^') ) {
+ alt3=1;
+ }
+ switch (alt3) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4117:11: '^'
+ {
+ match('^');
+
+ }
+ break;
+
+ }
+
+ if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4117:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+ loop4:
+ do {
+ int alt4=2;
+ int LA4_0 = input.LA(1);
+
+ if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='Z')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='z')) ) {
+ alt4=1;
+ }
+
+
+ switch (alt4) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.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 loop4;
+ }
+ } 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.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4119:10: ( ( '0' .. '9' )+ )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4119:12: ( '0' .. '9' )+
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4119:12: ( '0' .. '9' )+
+ int cnt5=0;
+ loop5:
+ do {
+ int alt5=2;
+ int LA5_0 = input.LA(1);
+
+ if ( ((LA5_0>='0' && LA5_0<='9')) ) {
+ alt5=1;
+ }
+
+
+ switch (alt5) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4119:13: '0' .. '9'
+ {
+ matchRange('0','9');
+
+ }
+ break;
+
+ default :
+ if ( cnt5 >= 1 ) break loop5;
+ EarlyExitException eee =
+ new EarlyExitException(5, input);
+ throw eee;
+ }
+ cnt5++;
+ } 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.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4121:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4121:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4121:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+ int alt8=2;
+ int LA8_0 = input.LA(1);
+
+ if ( (LA8_0=='\"') ) {
+ alt8=1;
+ }
+ else if ( (LA8_0=='\'') ) {
+ alt8=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 8, 0, input);
+
+ throw nvae;
+ }
+ switch (alt8) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4121:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+ {
+ match('\"');
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4121:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
+ loop6:
+ do {
+ int alt6=3;
+ int LA6_0 = input.LA(1);
+
+ if ( (LA6_0=='\\') ) {
+ alt6=1;
+ }
+ else if ( ((LA6_0>='\u0000' && LA6_0<='!')||(LA6_0>='#' && LA6_0<='[')||(LA6_0>=']' && LA6_0<='\uFFFF')) ) {
+ alt6=2;
+ }
+
+
+ switch (alt6) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4121: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.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4121: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 loop6;
+ }
+ } while (true);
+
+ match('\"');
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4121:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+ {
+ match('\'');
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4121:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
+ loop7:
+ do {
+ int alt7=3;
+ int LA7_0 = input.LA(1);
+
+ if ( (LA7_0=='\\') ) {
+ alt7=1;
+ }
+ else if ( ((LA7_0>='\u0000' && LA7_0<='&')||(LA7_0>='(' && LA7_0<='[')||(LA7_0>=']' && LA7_0<='\uFFFF')) ) {
+ alt7=2;
+ }
+
+
+ switch (alt7) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4121: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.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4121: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 loop7;
+ }
+ } 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.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4123:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4123:19: '/*' ( options {greedy=false; } : . )* '*/'
+ {
+ match("/*");
+
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4123:24: ( options {greedy=false; } : . )*
+ loop9:
+ do {
+ int alt9=2;
+ int LA9_0 = input.LA(1);
+
+ if ( (LA9_0=='*') ) {
+ int LA9_1 = input.LA(2);
+
+ if ( (LA9_1=='/') ) {
+ alt9=2;
+ }
+ else if ( ((LA9_1>='\u0000' && LA9_1<='.')||(LA9_1>='0' && LA9_1<='\uFFFF')) ) {
+ alt9=1;
+ }
+
+
+ }
+ else if ( ((LA9_0>='\u0000' && LA9_0<=')')||(LA9_0>='+' && LA9_0<='\uFFFF')) ) {
+ alt9=1;
+ }
+
+
+ switch (alt9) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4123:52: .
+ {
+ matchAny();
+
+ }
+ break;
+
+ default :
+ break loop9;
+ }
+ } while (true);
+
+ match("*/");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ML_COMMENT"
+
+ // $ANTLR start "RULE_SL_COMMENT"
+ public final void mRULE_SL_COMMENT() throws RecognitionException {
+ try {
+ int _type = RULE_SL_COMMENT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4125:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4125:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+ {
+ match("//");
+
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4125:24: (~ ( ( '\\n' | '\\r' ) ) )*
+ loop10:
+ do {
+ int alt10=2;
+ int LA10_0 = input.LA(1);
+
+ if ( ((LA10_0>='\u0000' && LA10_0<='\t')||(LA10_0>='\u000B' && LA10_0<='\f')||(LA10_0>='\u000E' && LA10_0<='\uFFFF')) ) {
+ alt10=1;
+ }
+
+
+ switch (alt10) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4125: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 loop10;
+ }
+ } while (true);
+
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4125:40: ( ( '\\r' )? '\\n' )?
+ int alt12=2;
+ int LA12_0 = input.LA(1);
+
+ if ( (LA12_0=='\n'||LA12_0=='\r') ) {
+ alt12=1;
+ }
+ switch (alt12) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4125:41: ( '\\r' )? '\\n'
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4125:41: ( '\\r' )?
+ int alt11=2;
+ int LA11_0 = input.LA(1);
+
+ if ( (LA11_0=='\r') ) {
+ alt11=1;
+ }
+ switch (alt11) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4125:41: '\\r'
+ {
+ match('\r');
+
+ }
+ break;
+
+ }
+
+ match('\n');
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_SL_COMMENT"
+
+ // $ANTLR start "RULE_WS"
+ public final void mRULE_WS() throws RecognitionException {
+ try {
+ int _type = RULE_WS;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4127:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4127:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4127:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ int cnt13=0;
+ loop13:
+ do {
+ int alt13=2;
+ int LA13_0 = input.LA(1);
+
+ if ( ((LA13_0>='\t' && LA13_0<='\n')||LA13_0=='\r'||LA13_0==' ') ) {
+ alt13=1;
+ }
+
+
+ switch (alt13) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.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 ( cnt13 >= 1 ) break loop13;
+ EarlyExitException eee =
+ new EarlyExitException(13, input);
+ throw eee;
+ }
+ cnt13++;
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_WS"
+
+ // $ANTLR start "RULE_ANY_OTHER"
+ public final void mRULE_ANY_OTHER() throws RecognitionException {
+ try {
+ int _type = RULE_ANY_OTHER;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4129:16: ( . )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4129:18: .
+ {
+ matchAny();
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ANY_OTHER"
+
+ public void mTokens() throws RecognitionException {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:8: ( T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | RULE_HEXDIGITS | RULE_IDENT | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+ int alt14=43;
+ alt14 = dfa14.predict(input);
+ switch (alt14) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:10: T__13
+ {
+ mT__13();
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:16: T__14
+ {
+ mT__14();
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:22: T__15
+ {
+ mT__15();
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:28: T__16
+ {
+ mT__16();
+
+ }
+ break;
+ case 5 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:34: T__17
+ {
+ mT__17();
+
+ }
+ break;
+ case 6 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:40: T__18
+ {
+ mT__18();
+
+ }
+ break;
+ case 7 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:46: T__19
+ {
+ mT__19();
+
+ }
+ break;
+ case 8 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:52: T__20
+ {
+ mT__20();
+
+ }
+ break;
+ case 9 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:58: T__21
+ {
+ mT__21();
+
+ }
+ break;
+ case 10 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:64: T__22
+ {
+ mT__22();
+
+ }
+ break;
+ case 11 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:70: T__23
+ {
+ mT__23();
+
+ }
+ break;
+ case 12 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:76: T__24
+ {
+ mT__24();
+
+ }
+ break;
+ case 13 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:82: T__25
+ {
+ mT__25();
+
+ }
+ break;
+ case 14 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:88: T__26
+ {
+ mT__26();
+
+ }
+ break;
+ case 15 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:94: T__27
+ {
+ mT__27();
+
+ }
+ break;
+ case 16 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:100: T__28
+ {
+ mT__28();
+
+ }
+ break;
+ case 17 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:106: T__29
+ {
+ mT__29();
+
+ }
+ break;
+ case 18 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:112: T__30
+ {
+ mT__30();
+
+ }
+ break;
+ case 19 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:118: T__31
+ {
+ mT__31();
+
+ }
+ break;
+ case 20 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:124: T__32
+ {
+ mT__32();
+
+ }
+ break;
+ case 21 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:130: T__33
+ {
+ mT__33();
+
+ }
+ break;
+ case 22 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:136: T__34
+ {
+ mT__34();
+
+ }
+ break;
+ case 23 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:142: T__35
+ {
+ mT__35();
+
+ }
+ break;
+ case 24 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:148: T__36
+ {
+ mT__36();
+
+ }
+ break;
+ case 25 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:154: T__37
+ {
+ mT__37();
+
+ }
+ break;
+ case 26 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:160: T__38
+ {
+ mT__38();
+
+ }
+ break;
+ case 27 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:166: T__39
+ {
+ mT__39();
+
+ }
+ break;
+ case 28 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:172: T__40
+ {
+ mT__40();
+
+ }
+ break;
+ case 29 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:178: T__41
+ {
+ mT__41();
+
+ }
+ break;
+ case 30 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:184: T__42
+ {
+ mT__42();
+
+ }
+ break;
+ case 31 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:190: T__43
+ {
+ mT__43();
+
+ }
+ break;
+ case 32 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:196: T__44
+ {
+ mT__44();
+
+ }
+ break;
+ case 33 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:202: T__45
+ {
+ mT__45();
+
+ }
+ break;
+ case 34 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:208: T__46
+ {
+ mT__46();
+
+ }
+ break;
+ case 35 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:214: RULE_HEXDIGITS
+ {
+ mRULE_HEXDIGITS();
+
+ }
+ break;
+ case 36 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:229: RULE_IDENT
+ {
+ mRULE_IDENT();
+
+ }
+ break;
+ case 37 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:240: RULE_ID
+ {
+ mRULE_ID();
+
+ }
+ break;
+ case 38 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:248: RULE_INT
+ {
+ mRULE_INT();
+
+ }
+ break;
+ case 39 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:257: RULE_STRING
+ {
+ mRULE_STRING();
+
+ }
+ break;
+ case 40 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:269: RULE_ML_COMMENT
+ {
+ mRULE_ML_COMMENT();
+
+ }
+ break;
+ case 41 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:285: RULE_SL_COMMENT
+ {
+ mRULE_SL_COMMENT();
+
+ }
+ break;
+ case 42 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:301: RULE_WS
+ {
+ mRULE_WS();
+
+ }
+ break;
+ case 43 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1:309: RULE_ANY_OTHER
+ {
+ mRULE_ANY_OTHER();
+
+ }
+ break;
+
+ }
+
+ }
+
+
+ protected DFA14 dfa14 = new DFA14(this);
+ static final String DFA14_eotS =
+ "\1\uffff\1\50\2\uffff\7\57\1\67\2\57\1\73\3\uffff\1\77\3\uffff"+
+ "\1\45\3\uffff\1\57\1\uffff\1\57\1\uffff\1\45\1\57\1\45\1\uffff\2"+
+ "\45\7\uffff\1\121\1\122\1\123\1\57\1\uffff\1\124\1\125\1\126\1\127"+
+ "\3\57\1\uffff\1\133\1\57\15\uffff\1\57\1\uffff\1\136\1\137\15\uffff"+
+ "\1\140\1\141\1\57\1\uffff\1\143\1\144\4\uffff\1\145\3\uffff";
+ static final String DFA14_eofS =
+ "\146\uffff";
+ static final String DFA14_minS =
+ "\1\0\1\52\2\uffff\7\60\1\55\3\60\3\uffff\1\55\3\uffff\1\151\3\uffff"+
+ "\1\60\1\uffff\1\60\1\uffff\1\151\1\60\1\101\1\uffff\2\0\7\uffff"+
+ "\3\55\1\60\1\uffff\4\55\3\60\1\uffff\1\55\1\60\15\uffff\1\60\1\uffff"+
+ "\2\55\15\uffff\2\55\1\60\1\uffff\2\55\4\uffff\1\55\3\uffff";
+ static final String DFA14_maxS =
+ "\1\uffff\1\57\2\uffff\12\172\1\146\3\uffff\1\172\3\uffff\1\151"+
+ "\3\uffff\1\172\1\uffff\1\172\1\uffff\1\151\2\172\1\uffff\2\uffff"+
+ "\7\uffff\4\172\1\uffff\7\172\1\uffff\2\172\15\uffff\1\172\1\uffff"+
+ "\2\172\15\uffff\3\172\1\uffff\2\172\4\uffff\1\172\3\uffff";
+ static final String DFA14_acceptS =
+ "\2\uffff\1\2\1\3\13\uffff\1\22\1\23\1\24\1\uffff\1\26\1\27\1\30"+
+ "\1\uffff\1\32\1\33\1\34\1\uffff\1\36\1\uffff\1\41\3\uffff\1\46\2"+
+ "\uffff\1\52\1\53\1\50\1\51\1\1\1\2\1\3\4\uffff\1\44\7\uffff\1\16"+
+ "\2\uffff\1\43\1\21\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31\1\32"+
+ "\1\33\1\34\1\uffff\1\36\2\uffff\1\41\1\42\1\45\1\46\1\47\1\52\1"+
+ "\4\1\10\1\11\1\5\1\6\1\15\1\7\3\uffff\1\17\2\uffff\1\37\1\40\1\12"+
+ "\1\13\1\uffff\1\20\1\35\1\14";
+ static final String DFA14_specialS =
+ "\1\2\41\uffff\1\0\1\1\102\uffff}>";
+ static final String[] DFA14_transitionS = {
+ "\11\45\2\44\2\45\1\44\22\45\1\44\1\36\1\42\1\16\1\45\1\33\1"+
+ "\45\1\43\1\30\1\31\1\35\1\20\1\2\1\22\1\17\1\1\12\41\1\27\1"+
+ "\25\2\45\1\21\1\45\1\26\32\37\1\45\1\3\1\45\1\40\1\37\1\45\2"+
+ "\37\1\5\1\10\1\34\1\37\1\12\1\14\1\7\1\37\1\15\1\37\1\6\2\37"+
+ "\1\4\1\37\1\11\1\13\1\37\1\32\5\37\1\23\1\45\1\24\uff82\45",
+ "\1\46\4\uffff\1\47",
+ "",
+ "",
+ "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\2\56\1\55\20\56"+
+ "\1\54\3\56\1\53\2\56",
+ "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\14\56\1\60\15\56",
+ "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\14\56\1\61\5\56"+
+ "\1\62\7\56",
+ "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\15\56\1\63\14\56",
+ "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\4\56\1\64\25\56",
+ "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\1\65\31\56",
+ "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\21\56\1\66\10\56",
+ "\1\57\2\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
+ "\56",
+ "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\31\56\1\70",
+ "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\7\56\1\71\22\56",
+ "\12\72\7\uffff\6\72\32\uffff\6\72",
+ "",
+ "",
+ "",
+ "\1\57\2\uffff\12\57\7\uffff\32\57\4\uffff\1\57\1\uffff\32"+
+ "\57",
+ "",
+ "",
+ "",
+ "\1\103",
+ "",
+ "",
+ "",
+ "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\21\56\1\107\10\56",
+ "",
+ "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\14\56\1\111\12\56"+
+ "\1\112\2\56",
+ "",
+ "\1\114",
+ "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
+ "\32\115\4\uffff\1\115\1\uffff\32\115",
+ "",
+ "\0\117",
+ "\0\117",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\57\2\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
+ "\56",
+ "\1\57\2\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
+ "\56",
+ "\1\57\2\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
+ "\56",
+ "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32\56",
+ "",
+ "\1\57\2\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
+ "\56",
+ "\1\57\2\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
+ "\56",
+ "\1\57\2\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
+ "\56",
+ "\1\57\2\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
+ "\56",
+ "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\6\56\1\130\23\56",
+ "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\3\56\1\131\26\56",
+ "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\1\132\31\56",
+ "",
+ "\1\57\2\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
+ "\56",
+ "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\31\56\1\134",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\13\56\1\135\16\56",
+ "",
+ "\1\57\2\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
+ "\56",
+ "\1\57\2\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
+ "\56",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\57\2\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
+ "\56",
+ "\1\57\2\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
+ "\56",
+ "\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\3\56\1\142\26\56",
+ "",
+ "\1\57\2\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
+ "\56",
+ "\1\57\2\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
+ "\56",
+ "",
+ "",
+ "",
+ "",
+ "\1\57\2\uffff\12\56\7\uffff\32\56\4\uffff\1\56\1\uffff\32"+
+ "\56",
+ "",
+ "",
+ ""
+ };
+
+ static final short[] DFA14_eot = DFA.unpackEncodedString(DFA14_eotS);
+ static final short[] DFA14_eof = DFA.unpackEncodedString(DFA14_eofS);
+ static final char[] DFA14_min = DFA.unpackEncodedStringToUnsignedChars(DFA14_minS);
+ static final char[] DFA14_max = DFA.unpackEncodedStringToUnsignedChars(DFA14_maxS);
+ static final short[] DFA14_accept = DFA.unpackEncodedString(DFA14_acceptS);
+ static final short[] DFA14_special = DFA.unpackEncodedString(DFA14_specialS);
+ static final short[][] DFA14_transition;
+
+ static {
+ int numStates = DFA14_transitionS.length;
+ DFA14_transition = new short[numStates][];
+ for (int i=0; i<numStates; i++) {
+ DFA14_transition[i] = DFA.unpackEncodedString(DFA14_transitionS[i]);
+ }
+ }
+
+ class DFA14 extends DFA {
+
+ public DFA14(BaseRecognizer recognizer) {
+ this.recognizer = recognizer;
+ this.decisionNumber = 14;
+ this.eot = DFA14_eot;
+ this.eof = DFA14_eof;
+ this.min = DFA14_min;
+ this.max = DFA14_max;
+ this.accept = DFA14_accept;
+ this.special = DFA14_special;
+ this.transition = DFA14_transition;
+ }
+ public String getDescription() {
+ return "1:1: Tokens : ( T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | RULE_HEXDIGITS | RULE_IDENT | 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 LA14_34 = input.LA(1);
+
+ s = -1;
+ if ( ((LA14_34>='\u0000' && LA14_34<='\uFFFF')) ) {s = 79;}
+
+ else s = 37;
+
+ if ( s>=0 ) return s;
+ break;
+ case 1 :
+ int LA14_35 = input.LA(1);
+
+ s = -1;
+ if ( ((LA14_35>='\u0000' && LA14_35<='\uFFFF')) ) {s = 79;}
+
+ else s = 37;
+
+ if ( s>=0 ) return s;
+ break;
+ case 2 :
+ int LA14_0 = input.LA(1);
+
+ s = -1;
+ if ( (LA14_0=='/') ) {s = 1;}
+
+ else if ( (LA14_0==',') ) {s = 2;}
+
+ else if ( (LA14_0=='\\') ) {s = 3;}
+
+ else if ( (LA14_0=='p') ) {s = 4;}
+
+ else if ( (LA14_0=='c') ) {s = 5;}
+
+ else if ( (LA14_0=='m') ) {s = 6;}
+
+ else if ( (LA14_0=='i') ) {s = 7;}
+
+ else if ( (LA14_0=='d') ) {s = 8;}
+
+ else if ( (LA14_0=='r') ) {s = 9;}
+
+ else if ( (LA14_0=='g') ) {s = 10;}
+
+ else if ( (LA14_0=='s') ) {s = 11;}
+
+ else if ( (LA14_0=='h') ) {s = 12;}
+
+ else if ( (LA14_0=='k') ) {s = 13;}
+
+ else if ( (LA14_0=='#') ) {s = 14;}
+
+ else if ( (LA14_0=='.') ) {s = 15;}
+
+ else if ( (LA14_0=='+') ) {s = 16;}
+
+ else if ( (LA14_0=='>') ) {s = 17;}
+
+ else if ( (LA14_0=='-') ) {s = 18;}
+
+ else if ( (LA14_0=='{') ) {s = 19;}
+
+ else if ( (LA14_0=='}') ) {s = 20;}
+
+ else if ( (LA14_0==';') ) {s = 21;}
+
+ else if ( (LA14_0=='@') ) {s = 22;}
+
+ else if ( (LA14_0==':') ) {s = 23;}
+
+ else if ( (LA14_0=='(') ) {s = 24;}
+
+ else if ( (LA14_0==')') ) {s = 25;}
+
+ else if ( (LA14_0=='u') ) {s = 26;}
+
+ else if ( (LA14_0=='%') ) {s = 27;}
+
+ else if ( (LA14_0=='e') ) {s = 28;}
+
+ else if ( (LA14_0=='*') ) {s = 29;}
+
+ else if ( (LA14_0=='!') ) {s = 30;}
+
+ else if ( ((LA14_0>='A' && LA14_0<='Z')||LA14_0=='_'||(LA14_0>='a' && LA14_0<='b')||LA14_0=='f'||LA14_0=='j'||LA14_0=='l'||(LA14_0>='n' && LA14_0<='o')||LA14_0=='q'||LA14_0=='t'||(LA14_0>='v' && LA14_0<='z')) ) {s = 31;}
+
+ else if ( (LA14_0=='^') ) {s = 32;}
+
+ else if ( ((LA14_0>='0' && LA14_0<='9')) ) {s = 33;}
+
+ else if ( (LA14_0=='\"') ) {s = 34;}
+
+ else if ( (LA14_0=='\'') ) {s = 35;}
+
+ else if ( ((LA14_0>='\t' && LA14_0<='\n')||LA14_0=='\r'||LA14_0==' ') ) {s = 36;}
+
+ else if ( ((LA14_0>='\u0000' && LA14_0<='\b')||(LA14_0>='\u000B' && LA14_0<='\f')||(LA14_0>='\u000E' && LA14_0<='\u001F')||LA14_0=='$'||LA14_0=='&'||(LA14_0>='<' && LA14_0<='=')||LA14_0=='?'||LA14_0=='['||LA14_0==']'||LA14_0=='`'||LA14_0=='|'||(LA14_0>='~' && LA14_0<='\uFFFF')) ) {s = 37;}
+
+ if ( s>=0 ) return s;
+ break;
+ }
+ NoViableAltException nvae =
+ new NoViableAltException(getDescription(), 14, _s, input);
+ error(nvae);
+ throw nvae;
+ }
+ }
+
+
+} \ No newline at end of file
diff --git a/bundles/org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSSParser.java b/bundles/org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSSParser.java
new file mode 100644
index 00000000..4a994970
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSSParser.java
@@ -0,0 +1,11682 @@
+package org.eclipse.e4.ui.contentassist.antlr.internal;
+
+import java.io.InputStream;
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.AbstractInternalContentAssistParser;
+import org.eclipse.xtext.ui.editor.contentassist.antlr.internal.DFA;
+import org.eclipse.e4.services.CSSGrammarAccess;
+
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+
+@SuppressWarnings("all")
+public class InternalCSSParser extends AbstractInternalContentAssistParser {
+ public static final String[] tokenNames = new String[] {
+ "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_INT", "RULE_WS", "RULE_STRING", "RULE_IDENT", "RULE_HEXDIGITS", "RULE_ID", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_ANY_OTHER", "'/'", "','", "'\\\\'", "'px'", "'cm'", "'mm'", "'in'", "'pt'", "'pc'", "'deg'", "'rad'", "'grad'", "'ms'", "'s'", "'hz'", "'khz'", "'#'", "'.'", "'+'", "'>'", "'-'", "'{'", "'}'", "';'", "'@import'", "':'", "'('", "')'", "'url'", "'%'", "'em'", "'ex'", "'*'", "'!important'"
+ };
+ public static final int RULE_ID=9;
+ 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=12;
+ public static final int T__21=21;
+ public static final int T__20=20;
+ public static final int EOF=-1;
+ public static final int T__19=19;
+ public static final int T__16=16;
+ 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__14=14;
+ public static final int T__13=13;
+ public static final int RULE_INT=4;
+ 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__44=44;
+ public static final int T__45=45;
+ public static final int RULE_SL_COMMENT=11;
+ public static final int RULE_ML_COMMENT=10;
+ 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=6;
+ 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 RULE_IDENT=7;
+ public static final int T__39=39;
+ public static final int RULE_HEXDIGITS=8;
+ public static final int RULE_WS=5;
+
+ // delegates
+ // delegators
+
+
+ public InternalCSSParser(TokenStream input) {
+ this(input, new RecognizerSharedState());
+ }
+ public InternalCSSParser(TokenStream input, RecognizerSharedState state) {
+ super(input, state);
+
+ }
+
+
+ public String[] getTokenNames() { return InternalCSSParser.tokenNames; }
+ public String getGrammarFileName() { return "../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g"; }
+
+
+
+ private CSSGrammarAccess grammarAccess;
+
+ public void setGrammarAccess(CSSGrammarAccess grammarAccess) {
+ this.grammarAccess = grammarAccess;
+ }
+
+ @Override
+ protected Grammar getGrammar() {
+ return grammarAccess.getGrammar();
+ }
+
+ @Override
+ protected String getValueForTokenName(String tokenName) {
+ return tokenName;
+ }
+
+
+
+
+ // $ANTLR start "entryRulestylesheet"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:60:1: entryRulestylesheet : rulestylesheet EOF ;
+ public final void entryRulestylesheet() throws RecognitionException {
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:61:1: ( rulestylesheet EOF )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:62:1: rulestylesheet EOF
+ {
+ before(grammarAccess.getStylesheetRule());
+ pushFollow(FOLLOW_rulestylesheet_in_entryRulestylesheet61);
+ rulestylesheet();
+
+ state._fsp--;
+
+ after(grammarAccess.getStylesheetRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRulestylesheet68);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRulestylesheet"
+
+
+ // $ANTLR start "rulestylesheet"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:69:1: rulestylesheet : ( ( rule__Stylesheet__Group__0 ) ) ;
+ public final void rulestylesheet() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:73:2: ( ( ( rule__Stylesheet__Group__0 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:74:1: ( ( rule__Stylesheet__Group__0 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:74:1: ( ( rule__Stylesheet__Group__0 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:75:1: ( rule__Stylesheet__Group__0 )
+ {
+ before(grammarAccess.getStylesheetAccess().getGroup());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:76:1: ( rule__Stylesheet__Group__0 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:76:2: rule__Stylesheet__Group__0
+ {
+ pushFollow(FOLLOW_rule__Stylesheet__Group__0_in_rulestylesheet94);
+ rule__Stylesheet__Group__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getStylesheetAccess().getGroup());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rulestylesheet"
+
+
+ // $ANTLR start "entryRuleRules"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:88:1: entryRuleRules : ruleRules EOF ;
+ public final void entryRuleRules() throws RecognitionException {
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:89:1: ( ruleRules EOF )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:90:1: ruleRules EOF
+ {
+ before(grammarAccess.getRulesRule());
+ pushFollow(FOLLOW_ruleRules_in_entryRuleRules121);
+ ruleRules();
+
+ state._fsp--;
+
+ after(grammarAccess.getRulesRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRuleRules128);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleRules"
+
+
+ // $ANTLR start "ruleRules"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:97:1: ruleRules : ( ( rule__Rules__Group__0 ) ) ;
+ public final void ruleRules() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:101:2: ( ( ( rule__Rules__Group__0 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:102:1: ( ( rule__Rules__Group__0 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:102:1: ( ( rule__Rules__Group__0 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:103:1: ( rule__Rules__Group__0 )
+ {
+ before(grammarAccess.getRulesAccess().getGroup());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:104:1: ( rule__Rules__Group__0 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:104:2: rule__Rules__Group__0
+ {
+ pushFollow(FOLLOW_rule__Rules__Group__0_in_ruleRules154);
+ rule__Rules__Group__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getRulesAccess().getGroup());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleRules"
+
+
+ // $ANTLR start "entryRulecss_import"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:116:1: entryRulecss_import : rulecss_import EOF ;
+ public final void entryRulecss_import() throws RecognitionException {
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:117:1: ( rulecss_import EOF )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:118:1: rulecss_import EOF
+ {
+ before(grammarAccess.getCss_importRule());
+ pushFollow(FOLLOW_rulecss_import_in_entryRulecss_import181);
+ rulecss_import();
+
+ state._fsp--;
+
+ after(grammarAccess.getCss_importRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRulecss_import188);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRulecss_import"
+
+
+ // $ANTLR start "rulecss_import"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:125:1: rulecss_import : ( ( rule__Css_import__Group__0 ) ) ;
+ public final void rulecss_import() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:129:2: ( ( ( rule__Css_import__Group__0 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:130:1: ( ( rule__Css_import__Group__0 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:130:1: ( ( rule__Css_import__Group__0 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:131:1: ( rule__Css_import__Group__0 )
+ {
+ before(grammarAccess.getCss_importAccess().getGroup());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:132:1: ( rule__Css_import__Group__0 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:132:2: rule__Css_import__Group__0
+ {
+ pushFollow(FOLLOW_rule__Css_import__Group__0_in_rulecss_import214);
+ rule__Css_import__Group__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getCss_importAccess().getGroup());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rulecss_import"
+
+
+ // $ANTLR start "entryRuleselector"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:144:1: entryRuleselector : ruleselector EOF ;
+ public final void entryRuleselector() throws RecognitionException {
+
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:148:1: ( ruleselector EOF )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:149:1: ruleselector EOF
+ {
+ before(grammarAccess.getSelectorRule());
+ pushFollow(FOLLOW_ruleselector_in_entryRuleselector246);
+ ruleselector();
+
+ state._fsp--;
+
+ after(grammarAccess.getSelectorRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRuleselector253);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ myHiddenTokenState.restore();
+
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleselector"
+
+
+ // $ANTLR start "ruleselector"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:159:1: ruleselector : ( ( rule__Selector__Group__0 ) ) ;
+ public final void ruleselector() throws RecognitionException {
+
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:164:2: ( ( ( rule__Selector__Group__0 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:165:1: ( ( rule__Selector__Group__0 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:165:1: ( ( rule__Selector__Group__0 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:166:1: ( rule__Selector__Group__0 )
+ {
+ before(grammarAccess.getSelectorAccess().getGroup());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:167:1: ( rule__Selector__Group__0 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:167:2: rule__Selector__Group__0
+ {
+ pushFollow(FOLLOW_rule__Selector__Group__0_in_ruleselector283);
+ rule__Selector__Group__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getSelectorAccess().getGroup());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+ myHiddenTokenState.restore();
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleselector"
+
+
+ // $ANTLR start "entryRulesimple_selector"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:180:1: entryRulesimple_selector : rulesimple_selector EOF ;
+ public final void entryRulesimple_selector() throws RecognitionException {
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:181:1: ( rulesimple_selector EOF )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:182:1: rulesimple_selector EOF
+ {
+ before(grammarAccess.getSimple_selectorRule());
+ pushFollow(FOLLOW_rulesimple_selector_in_entryRulesimple_selector310);
+ rulesimple_selector();
+
+ state._fsp--;
+
+ after(grammarAccess.getSimple_selectorRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRulesimple_selector317);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRulesimple_selector"
+
+
+ // $ANTLR start "rulesimple_selector"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:189:1: rulesimple_selector : ( ( rule__Simple_selector__Alternatives ) ) ;
+ public final void rulesimple_selector() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:193:2: ( ( ( rule__Simple_selector__Alternatives ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:194:1: ( ( rule__Simple_selector__Alternatives ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:194:1: ( ( rule__Simple_selector__Alternatives ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:195:1: ( rule__Simple_selector__Alternatives )
+ {
+ before(grammarAccess.getSimple_selectorAccess().getAlternatives());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:196:1: ( rule__Simple_selector__Alternatives )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:196:2: rule__Simple_selector__Alternatives
+ {
+ pushFollow(FOLLOW_rule__Simple_selector__Alternatives_in_rulesimple_selector343);
+ rule__Simple_selector__Alternatives();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getSimple_selectorAccess().getAlternatives());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rulesimple_selector"
+
+
+ // $ANTLR start "entryRulepseudo"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:208:1: entryRulepseudo : rulepseudo EOF ;
+ public final void entryRulepseudo() throws RecognitionException {
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:209:1: ( rulepseudo EOF )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:210:1: rulepseudo EOF
+ {
+ before(grammarAccess.getPseudoRule());
+ pushFollow(FOLLOW_rulepseudo_in_entryRulepseudo370);
+ rulepseudo();
+
+ state._fsp--;
+
+ after(grammarAccess.getPseudoRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRulepseudo377);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRulepseudo"
+
+
+ // $ANTLR start "rulepseudo"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:217:1: rulepseudo : ( ( rule__Pseudo__Alternatives ) ) ;
+ public final void rulepseudo() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:221:2: ( ( ( rule__Pseudo__Alternatives ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:222:1: ( ( rule__Pseudo__Alternatives ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:222:1: ( ( rule__Pseudo__Alternatives ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:223:1: ( rule__Pseudo__Alternatives )
+ {
+ before(grammarAccess.getPseudoAccess().getAlternatives());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:224:1: ( rule__Pseudo__Alternatives )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:224:2: rule__Pseudo__Alternatives
+ {
+ pushFollow(FOLLOW_rule__Pseudo__Alternatives_in_rulepseudo403);
+ rule__Pseudo__Alternatives();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getPseudoAccess().getAlternatives());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rulepseudo"
+
+
+ // $ANTLR start "entryRuleelement_name"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:236:1: entryRuleelement_name : ruleelement_name EOF ;
+ public final void entryRuleelement_name() throws RecognitionException {
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:237:1: ( ruleelement_name EOF )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:238:1: ruleelement_name EOF
+ {
+ before(grammarAccess.getElement_nameRule());
+ pushFollow(FOLLOW_ruleelement_name_in_entryRuleelement_name430);
+ ruleelement_name();
+
+ state._fsp--;
+
+ after(grammarAccess.getElement_nameRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRuleelement_name437);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleelement_name"
+
+
+ // $ANTLR start "ruleelement_name"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:245:1: ruleelement_name : ( ( rule__Element_name__Alternatives ) ) ;
+ public final void ruleelement_name() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:249:2: ( ( ( rule__Element_name__Alternatives ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:250:1: ( ( rule__Element_name__Alternatives ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:250:1: ( ( rule__Element_name__Alternatives ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:251:1: ( rule__Element_name__Alternatives )
+ {
+ before(grammarAccess.getElement_nameAccess().getAlternatives());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:252:1: ( rule__Element_name__Alternatives )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:252:2: rule__Element_name__Alternatives
+ {
+ pushFollow(FOLLOW_rule__Element_name__Alternatives_in_ruleelement_name463);
+ rule__Element_name__Alternatives();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getElement_nameAccess().getAlternatives());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleelement_name"
+
+
+ // $ANTLR start "entryRuledeclaration"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:264:1: entryRuledeclaration : ruledeclaration EOF ;
+ public final void entryRuledeclaration() throws RecognitionException {
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:265:1: ( ruledeclaration EOF )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:266:1: ruledeclaration EOF
+ {
+ before(grammarAccess.getDeclarationRule());
+ pushFollow(FOLLOW_ruledeclaration_in_entryRuledeclaration490);
+ ruledeclaration();
+
+ state._fsp--;
+
+ after(grammarAccess.getDeclarationRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRuledeclaration497);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuledeclaration"
+
+
+ // $ANTLR start "ruledeclaration"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:273:1: ruledeclaration : ( ( rule__Declaration__Group__0 ) ) ;
+ public final void ruledeclaration() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:277:2: ( ( ( rule__Declaration__Group__0 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:278:1: ( ( rule__Declaration__Group__0 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:278:1: ( ( rule__Declaration__Group__0 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:279:1: ( rule__Declaration__Group__0 )
+ {
+ before(grammarAccess.getDeclarationAccess().getGroup());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:280:1: ( rule__Declaration__Group__0 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:280:2: rule__Declaration__Group__0
+ {
+ pushFollow(FOLLOW_rule__Declaration__Group__0_in_ruledeclaration523);
+ rule__Declaration__Group__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getDeclarationAccess().getGroup());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruledeclaration"
+
+
+ // $ANTLR start "entryRuleexpr"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:292:1: entryRuleexpr : ruleexpr EOF ;
+ public final void entryRuleexpr() throws RecognitionException {
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:293:1: ( ruleexpr EOF )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:294:1: ruleexpr EOF
+ {
+ before(grammarAccess.getExprRule());
+ pushFollow(FOLLOW_ruleexpr_in_entryRuleexpr550);
+ ruleexpr();
+
+ state._fsp--;
+
+ after(grammarAccess.getExprRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRuleexpr557);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleexpr"
+
+
+ // $ANTLR start "ruleexpr"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:301:1: ruleexpr : ( ( rule__Expr__Group__0 ) ) ;
+ public final void ruleexpr() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:305:2: ( ( ( rule__Expr__Group__0 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:306:1: ( ( rule__Expr__Group__0 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:306:1: ( ( rule__Expr__Group__0 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:307:1: ( rule__Expr__Group__0 )
+ {
+ before(grammarAccess.getExprAccess().getGroup());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:308:1: ( rule__Expr__Group__0 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:308:2: rule__Expr__Group__0
+ {
+ pushFollow(FOLLOW_rule__Expr__Group__0_in_ruleexpr583);
+ rule__Expr__Group__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getExprAccess().getGroup());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleexpr"
+
+
+ // $ANTLR start "entryRuleterm"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:320:1: entryRuleterm : ruleterm EOF ;
+ public final void entryRuleterm() throws RecognitionException {
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:321:1: ( ruleterm EOF )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:322:1: ruleterm EOF
+ {
+ before(grammarAccess.getTermRule());
+ pushFollow(FOLLOW_ruleterm_in_entryRuleterm610);
+ ruleterm();
+
+ state._fsp--;
+
+ after(grammarAccess.getTermRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRuleterm617);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleterm"
+
+
+ // $ANTLR start "ruleterm"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:329:1: ruleterm : ( ( rule__Term__Alternatives ) ) ;
+ public final void ruleterm() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:333:2: ( ( ( rule__Term__Alternatives ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:334:1: ( ( rule__Term__Alternatives ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:334:1: ( ( rule__Term__Alternatives ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:335:1: ( rule__Term__Alternatives )
+ {
+ before(grammarAccess.getTermAccess().getAlternatives());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:336:1: ( rule__Term__Alternatives )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:336:2: rule__Term__Alternatives
+ {
+ pushFollow(FOLLOW_rule__Term__Alternatives_in_ruleterm643);
+ 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 "entryRulefunction"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:348:1: entryRulefunction : rulefunction EOF ;
+ public final void entryRulefunction() throws RecognitionException {
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:349:1: ( rulefunction EOF )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:350:1: rulefunction EOF
+ {
+ before(grammarAccess.getFunctionRule());
+ pushFollow(FOLLOW_rulefunction_in_entryRulefunction670);
+ rulefunction();
+
+ state._fsp--;
+
+ after(grammarAccess.getFunctionRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRulefunction677);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRulefunction"
+
+
+ // $ANTLR start "rulefunction"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:357:1: rulefunction : ( ( rule__Function__Group__0 ) ) ;
+ public final void rulefunction() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:361:2: ( ( ( rule__Function__Group__0 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:362:1: ( ( rule__Function__Group__0 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:362:1: ( ( rule__Function__Group__0 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:363:1: ( rule__Function__Group__0 )
+ {
+ before(grammarAccess.getFunctionAccess().getGroup());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:364:1: ( rule__Function__Group__0 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:364:2: rule__Function__Group__0
+ {
+ pushFollow(FOLLOW_rule__Function__Group__0_in_rulefunction703);
+ 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 "entryRuleURI"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:376:1: entryRuleURI : ruleURI EOF ;
+ public final void entryRuleURI() throws RecognitionException {
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:377:1: ( ruleURI EOF )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:378:1: ruleURI EOF
+ {
+ before(grammarAccess.getURIRule());
+ pushFollow(FOLLOW_ruleURI_in_entryRuleURI730);
+ ruleURI();
+
+ state._fsp--;
+
+ after(grammarAccess.getURIRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRuleURI737);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleURI"
+
+
+ // $ANTLR start "ruleURI"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:385:1: ruleURI : ( ( rule__URI__Group__0 ) ) ;
+ public final void ruleURI() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:389:2: ( ( ( rule__URI__Group__0 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:390:1: ( ( rule__URI__Group__0 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:390:1: ( ( rule__URI__Group__0 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:391:1: ( rule__URI__Group__0 )
+ {
+ before(grammarAccess.getURIAccess().getGroup());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:392:1: ( rule__URI__Group__0 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:392:2: rule__URI__Group__0
+ {
+ pushFollow(FOLLOW_rule__URI__Group__0_in_ruleURI763);
+ rule__URI__Group__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getURIAccess().getGroup());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleURI"
+
+
+ // $ANTLR start "entryRuleunary_numbers"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:404:1: entryRuleunary_numbers : ruleunary_numbers EOF ;
+ public final void entryRuleunary_numbers() throws RecognitionException {
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:405:1: ( ruleunary_numbers EOF )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:406:1: ruleunary_numbers EOF
+ {
+ before(grammarAccess.getUnary_numbersRule());
+ pushFollow(FOLLOW_ruleunary_numbers_in_entryRuleunary_numbers790);
+ ruleunary_numbers();
+
+ state._fsp--;
+
+ after(grammarAccess.getUnary_numbersRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRuleunary_numbers797);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleunary_numbers"
+
+
+ // $ANTLR start "ruleunary_numbers"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:413:1: ruleunary_numbers : ( ( rule__Unary_numbers__Alternatives ) ) ;
+ public final void ruleunary_numbers() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:417:2: ( ( ( rule__Unary_numbers__Alternatives ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:418:1: ( ( rule__Unary_numbers__Alternatives ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:418:1: ( ( rule__Unary_numbers__Alternatives ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:419:1: ( rule__Unary_numbers__Alternatives )
+ {
+ before(grammarAccess.getUnary_numbersAccess().getAlternatives());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:420:1: ( rule__Unary_numbers__Alternatives )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:420:2: rule__Unary_numbers__Alternatives
+ {
+ pushFollow(FOLLOW_rule__Unary_numbers__Alternatives_in_ruleunary_numbers823);
+ rule__Unary_numbers__Alternatives();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getUnary_numbersAccess().getAlternatives());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleunary_numbers"
+
+
+ // $ANTLR start "entryRulePERCENTAGE"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:432:1: entryRulePERCENTAGE : rulePERCENTAGE EOF ;
+ public final void entryRulePERCENTAGE() throws RecognitionException {
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:433:1: ( rulePERCENTAGE EOF )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:434:1: rulePERCENTAGE EOF
+ {
+ before(grammarAccess.getPERCENTAGERule());
+ pushFollow(FOLLOW_rulePERCENTAGE_in_entryRulePERCENTAGE850);
+ rulePERCENTAGE();
+
+ state._fsp--;
+
+ after(grammarAccess.getPERCENTAGERule());
+ match(input,EOF,FOLLOW_EOF_in_entryRulePERCENTAGE857);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRulePERCENTAGE"
+
+
+ // $ANTLR start "rulePERCENTAGE"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:441:1: rulePERCENTAGE : ( ( rule__PERCENTAGE__Group__0 ) ) ;
+ public final void rulePERCENTAGE() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:445:2: ( ( ( rule__PERCENTAGE__Group__0 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:446:1: ( ( rule__PERCENTAGE__Group__0 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:446:1: ( ( rule__PERCENTAGE__Group__0 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:447:1: ( rule__PERCENTAGE__Group__0 )
+ {
+ before(grammarAccess.getPERCENTAGEAccess().getGroup());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:448:1: ( rule__PERCENTAGE__Group__0 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:448:2: rule__PERCENTAGE__Group__0
+ {
+ pushFollow(FOLLOW_rule__PERCENTAGE__Group__0_in_rulePERCENTAGE883);
+ rule__PERCENTAGE__Group__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getPERCENTAGEAccess().getGroup());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rulePERCENTAGE"
+
+
+ // $ANTLR start "entryRuleEMS"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:460:1: entryRuleEMS : ruleEMS EOF ;
+ public final void entryRuleEMS() throws RecognitionException {
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:461:1: ( ruleEMS EOF )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:462:1: ruleEMS EOF
+ {
+ before(grammarAccess.getEMSRule());
+ pushFollow(FOLLOW_ruleEMS_in_entryRuleEMS910);
+ ruleEMS();
+
+ state._fsp--;
+
+ after(grammarAccess.getEMSRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRuleEMS917);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleEMS"
+
+
+ // $ANTLR start "ruleEMS"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:469:1: ruleEMS : ( ( rule__EMS__Group__0 ) ) ;
+ public final void ruleEMS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:473:2: ( ( ( rule__EMS__Group__0 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:474:1: ( ( rule__EMS__Group__0 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:474:1: ( ( rule__EMS__Group__0 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:475:1: ( rule__EMS__Group__0 )
+ {
+ before(grammarAccess.getEMSAccess().getGroup());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:476:1: ( rule__EMS__Group__0 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:476:2: rule__EMS__Group__0
+ {
+ pushFollow(FOLLOW_rule__EMS__Group__0_in_ruleEMS943);
+ rule__EMS__Group__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getEMSAccess().getGroup());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleEMS"
+
+
+ // $ANTLR start "entryRuleEXS"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:488:1: entryRuleEXS : ruleEXS EOF ;
+ public final void entryRuleEXS() throws RecognitionException {
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:489:1: ( ruleEXS EOF )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:490:1: ruleEXS EOF
+ {
+ before(grammarAccess.getEXSRule());
+ pushFollow(FOLLOW_ruleEXS_in_entryRuleEXS970);
+ ruleEXS();
+
+ state._fsp--;
+
+ after(grammarAccess.getEXSRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRuleEXS977);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleEXS"
+
+
+ // $ANTLR start "ruleEXS"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:497:1: ruleEXS : ( ( rule__EXS__Group__0 ) ) ;
+ public final void ruleEXS() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:501:2: ( ( ( rule__EXS__Group__0 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:502:1: ( ( rule__EXS__Group__0 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:502:1: ( ( rule__EXS__Group__0 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:503:1: ( rule__EXS__Group__0 )
+ {
+ before(grammarAccess.getEXSAccess().getGroup());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:504:1: ( rule__EXS__Group__0 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:504:2: rule__EXS__Group__0
+ {
+ pushFollow(FOLLOW_rule__EXS__Group__0_in_ruleEXS1003);
+ rule__EXS__Group__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getEXSAccess().getGroup());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleEXS"
+
+
+ // $ANTLR start "entryRuleLENGTH"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:516:1: entryRuleLENGTH : ruleLENGTH EOF ;
+ public final void entryRuleLENGTH() throws RecognitionException {
+
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:520:1: ( ruleLENGTH EOF )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:521:1: ruleLENGTH EOF
+ {
+ before(grammarAccess.getLENGTHRule());
+ pushFollow(FOLLOW_ruleLENGTH_in_entryRuleLENGTH1035);
+ ruleLENGTH();
+
+ state._fsp--;
+
+ after(grammarAccess.getLENGTHRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRuleLENGTH1042);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ myHiddenTokenState.restore();
+
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleLENGTH"
+
+
+ // $ANTLR start "ruleLENGTH"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:531:1: ruleLENGTH : ( ( rule__LENGTH__Group__0 ) ) ;
+ public final void ruleLENGTH() throws RecognitionException {
+
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:536:2: ( ( ( rule__LENGTH__Group__0 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:537:1: ( ( rule__LENGTH__Group__0 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:537:1: ( ( rule__LENGTH__Group__0 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:538:1: ( rule__LENGTH__Group__0 )
+ {
+ before(grammarAccess.getLENGTHAccess().getGroup());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:539:1: ( rule__LENGTH__Group__0 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:539:2: rule__LENGTH__Group__0
+ {
+ pushFollow(FOLLOW_rule__LENGTH__Group__0_in_ruleLENGTH1072);
+ rule__LENGTH__Group__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getLENGTHAccess().getGroup());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+ myHiddenTokenState.restore();
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleLENGTH"
+
+
+ // $ANTLR start "entryRuleANGLE"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:552:1: entryRuleANGLE : ruleANGLE EOF ;
+ public final void entryRuleANGLE() throws RecognitionException {
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:553:1: ( ruleANGLE EOF )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:554:1: ruleANGLE EOF
+ {
+ before(grammarAccess.getANGLERule());
+ pushFollow(FOLLOW_ruleANGLE_in_entryRuleANGLE1099);
+ ruleANGLE();
+
+ state._fsp--;
+
+ after(grammarAccess.getANGLERule());
+ match(input,EOF,FOLLOW_EOF_in_entryRuleANGLE1106);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleANGLE"
+
+
+ // $ANTLR start "ruleANGLE"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:561:1: ruleANGLE : ( ( rule__ANGLE__Group__0 ) ) ;
+ public final void ruleANGLE() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:565:2: ( ( ( rule__ANGLE__Group__0 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:566:1: ( ( rule__ANGLE__Group__0 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:566:1: ( ( rule__ANGLE__Group__0 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:567:1: ( rule__ANGLE__Group__0 )
+ {
+ before(grammarAccess.getANGLEAccess().getGroup());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:568:1: ( rule__ANGLE__Group__0 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:568:2: rule__ANGLE__Group__0
+ {
+ pushFollow(FOLLOW_rule__ANGLE__Group__0_in_ruleANGLE1132);
+ rule__ANGLE__Group__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getANGLEAccess().getGroup());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleANGLE"
+
+
+ // $ANTLR start "entryRuleTIME"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:580:1: entryRuleTIME : ruleTIME EOF ;
+ public final void entryRuleTIME() throws RecognitionException {
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:581:1: ( ruleTIME EOF )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:582:1: ruleTIME EOF
+ {
+ before(grammarAccess.getTIMERule());
+ pushFollow(FOLLOW_ruleTIME_in_entryRuleTIME1159);
+ ruleTIME();
+
+ state._fsp--;
+
+ after(grammarAccess.getTIMERule());
+ match(input,EOF,FOLLOW_EOF_in_entryRuleTIME1166);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleTIME"
+
+
+ // $ANTLR start "ruleTIME"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:589:1: ruleTIME : ( ( rule__TIME__Group__0 ) ) ;
+ public final void ruleTIME() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:593:2: ( ( ( rule__TIME__Group__0 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:594:1: ( ( rule__TIME__Group__0 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:594:1: ( ( rule__TIME__Group__0 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:595:1: ( rule__TIME__Group__0 )
+ {
+ before(grammarAccess.getTIMEAccess().getGroup());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:596:1: ( rule__TIME__Group__0 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:596:2: rule__TIME__Group__0
+ {
+ pushFollow(FOLLOW_rule__TIME__Group__0_in_ruleTIME1192);
+ rule__TIME__Group__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getTIMEAccess().getGroup());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleTIME"
+
+
+ // $ANTLR start "entryRuleFREQ"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:608:1: entryRuleFREQ : ruleFREQ EOF ;
+ public final void entryRuleFREQ() throws RecognitionException {
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:609:1: ( ruleFREQ EOF )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:610:1: ruleFREQ EOF
+ {
+ before(grammarAccess.getFREQRule());
+ pushFollow(FOLLOW_ruleFREQ_in_entryRuleFREQ1219);
+ ruleFREQ();
+
+ state._fsp--;
+
+ after(grammarAccess.getFREQRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRuleFREQ1226);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleFREQ"
+
+
+ // $ANTLR start "ruleFREQ"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:617:1: ruleFREQ : ( ( rule__FREQ__Group__0 ) ) ;
+ public final void ruleFREQ() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:621:2: ( ( ( rule__FREQ__Group__0 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:622:1: ( ( rule__FREQ__Group__0 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:622:1: ( ( rule__FREQ__Group__0 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:623:1: ( rule__FREQ__Group__0 )
+ {
+ before(grammarAccess.getFREQAccess().getGroup());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:624:1: ( rule__FREQ__Group__0 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:624:2: rule__FREQ__Group__0
+ {
+ pushFollow(FOLLOW_rule__FREQ__Group__0_in_ruleFREQ1252);
+ rule__FREQ__Group__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getFREQAccess().getGroup());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleFREQ"
+
+
+ // $ANTLR start "entryRulecss_hash_class"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:636:1: entryRulecss_hash_class : rulecss_hash_class EOF ;
+ public final void entryRulecss_hash_class() throws RecognitionException {
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:637:1: ( rulecss_hash_class EOF )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:638:1: rulecss_hash_class EOF
+ {
+ before(grammarAccess.getCss_hash_classRule());
+ pushFollow(FOLLOW_rulecss_hash_class_in_entryRulecss_hash_class1279);
+ rulecss_hash_class();
+
+ state._fsp--;
+
+ after(grammarAccess.getCss_hash_classRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRulecss_hash_class1286);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRulecss_hash_class"
+
+
+ // $ANTLR start "rulecss_hash_class"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:645:1: rulecss_hash_class : ( ( rule__Css_hash_class__Group__0 ) ) ;
+ public final void rulecss_hash_class() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:649:2: ( ( ( rule__Css_hash_class__Group__0 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:650:1: ( ( rule__Css_hash_class__Group__0 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:650:1: ( ( rule__Css_hash_class__Group__0 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:651:1: ( rule__Css_hash_class__Group__0 )
+ {
+ before(grammarAccess.getCss_hash_classAccess().getGroup());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:652:1: ( rule__Css_hash_class__Group__0 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:652:2: rule__Css_hash_class__Group__0
+ {
+ pushFollow(FOLLOW_rule__Css_hash_class__Group__0_in_rulecss_hash_class1312);
+ rule__Css_hash_class__Group__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getCss_hash_classAccess().getGroup());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rulecss_hash_class"
+
+
+ // $ANTLR start "entryRulecombinator"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:664:1: entryRulecombinator : rulecombinator EOF ;
+ public final void entryRulecombinator() throws RecognitionException {
+
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens("RULE_WS");
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:668:1: ( rulecombinator EOF )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:669:1: rulecombinator EOF
+ {
+ before(grammarAccess.getCombinatorRule());
+ pushFollow(FOLLOW_rulecombinator_in_entryRulecombinator1344);
+ rulecombinator();
+
+ state._fsp--;
+
+ after(grammarAccess.getCombinatorRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRulecombinator1351);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ myHiddenTokenState.restore();
+
+ }
+ return ;
+ }
+ // $ANTLR end "entryRulecombinator"
+
+
+ // $ANTLR start "rulecombinator"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:679:1: rulecombinator : ( ( rule__Combinator__Alternatives ) ) ;
+ public final void rulecombinator() throws RecognitionException {
+
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens("RULE_WS");
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:684:2: ( ( ( rule__Combinator__Alternatives ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:685:1: ( ( rule__Combinator__Alternatives ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:685:1: ( ( rule__Combinator__Alternatives ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:686:1: ( rule__Combinator__Alternatives )
+ {
+ before(grammarAccess.getCombinatorAccess().getAlternatives());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:687:1: ( rule__Combinator__Alternatives )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:687:2: rule__Combinator__Alternatives
+ {
+ pushFollow(FOLLOW_rule__Combinator__Alternatives_in_rulecombinator1381);
+ rule__Combinator__Alternatives();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getCombinatorAccess().getAlternatives());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+ myHiddenTokenState.restore();
+
+ }
+ return ;
+ }
+ // $ANTLR end "rulecombinator"
+
+
+ // $ANTLR start "entryRuleunary_operator"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:700:1: entryRuleunary_operator : ruleunary_operator EOF ;
+ public final void entryRuleunary_operator() throws RecognitionException {
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:701:1: ( ruleunary_operator EOF )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:702:1: ruleunary_operator EOF
+ {
+ before(grammarAccess.getUnary_operatorRule());
+ pushFollow(FOLLOW_ruleunary_operator_in_entryRuleunary_operator1408);
+ ruleunary_operator();
+
+ state._fsp--;
+
+ after(grammarAccess.getUnary_operatorRule());
+ match(input,EOF,FOLLOW_EOF_in_entryRuleunary_operator1415);
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+ }
+ return ;
+ }
+ // $ANTLR end "entryRuleunary_operator"
+
+
+ // $ANTLR start "ruleunary_operator"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:709:1: ruleunary_operator : ( ( rule__Unary_operator__Alternatives ) ) ;
+ public final void ruleunary_operator() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:713:2: ( ( ( rule__Unary_operator__Alternatives ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:714:1: ( ( rule__Unary_operator__Alternatives ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:714:1: ( ( rule__Unary_operator__Alternatives ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:715:1: ( rule__Unary_operator__Alternatives )
+ {
+ before(grammarAccess.getUnary_operatorAccess().getAlternatives());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:716:1: ( rule__Unary_operator__Alternatives )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:716:2: rule__Unary_operator__Alternatives
+ {
+ pushFollow(FOLLOW_rule__Unary_operator__Alternatives_in_ruleunary_operator1441);
+ rule__Unary_operator__Alternatives();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getUnary_operatorAccess().getAlternatives());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "ruleunary_operator"
+
+
+ // $ANTLR start "rule__Css_import__Alternatives_1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:728:1: rule__Css_import__Alternatives_1 : ( ( ( rule__Css_import__String_nameAssignment_1_0 ) ) | ( ruleURI ) );
+ public final void rule__Css_import__Alternatives_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:732:1: ( ( ( rule__Css_import__String_nameAssignment_1_0 ) ) | ( ruleURI ) )
+ int alt1=2;
+ int LA1_0 = input.LA(1);
+
+ if ( (LA1_0==RULE_STRING) ) {
+ alt1=1;
+ }
+ else if ( (LA1_0==41) ) {
+ alt1=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 1, 0, input);
+
+ throw nvae;
+ }
+ switch (alt1) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:733:1: ( ( rule__Css_import__String_nameAssignment_1_0 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:733:1: ( ( rule__Css_import__String_nameAssignment_1_0 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:734:1: ( rule__Css_import__String_nameAssignment_1_0 )
+ {
+ before(grammarAccess.getCss_importAccess().getString_nameAssignment_1_0());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:735:1: ( rule__Css_import__String_nameAssignment_1_0 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:735:2: rule__Css_import__String_nameAssignment_1_0
+ {
+ pushFollow(FOLLOW_rule__Css_import__String_nameAssignment_1_0_in_rule__Css_import__Alternatives_11477);
+ rule__Css_import__String_nameAssignment_1_0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getCss_importAccess().getString_nameAssignment_1_0());
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:739:6: ( ruleURI )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:739:6: ( ruleURI )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:740:1: ruleURI
+ {
+ before(grammarAccess.getCss_importAccess().getURIParserRuleCall_1_1());
+ pushFollow(FOLLOW_ruleURI_in_rule__Css_import__Alternatives_11495);
+ ruleURI();
+
+ state._fsp--;
+
+ after(grammarAccess.getCss_importAccess().getURIParserRuleCall_1_1());
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Css_import__Alternatives_1"
+
+
+ // $ANTLR start "rule__Selector__Alternatives_1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:750:1: rule__Selector__Alternatives_1 : ( ( ( rule__Selector__Group_1_0__0 ) ) | ( ( rule__Selector__Group_1_1__0 ) ) );
+ public final void rule__Selector__Alternatives_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:754:1: ( ( ( rule__Selector__Group_1_0__0 ) ) | ( ( rule__Selector__Group_1_1__0 ) ) )
+ int alt2=2;
+ int LA2_0 = input.LA(1);
+
+ if ( ((LA2_0>=31 && LA2_0<=32)) ) {
+ alt2=1;
+ }
+ else if ( (LA2_0==RULE_WS) ) {
+ alt2=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 2, 0, input);
+
+ throw nvae;
+ }
+ switch (alt2) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:755:1: ( ( rule__Selector__Group_1_0__0 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:755:1: ( ( rule__Selector__Group_1_0__0 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:756:1: ( rule__Selector__Group_1_0__0 )
+ {
+ before(grammarAccess.getSelectorAccess().getGroup_1_0());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:757:1: ( rule__Selector__Group_1_0__0 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:757:2: rule__Selector__Group_1_0__0
+ {
+ pushFollow(FOLLOW_rule__Selector__Group_1_0__0_in_rule__Selector__Alternatives_11527);
+ rule__Selector__Group_1_0__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getSelectorAccess().getGroup_1_0());
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:761:6: ( ( rule__Selector__Group_1_1__0 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:761:6: ( ( rule__Selector__Group_1_1__0 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:762:1: ( rule__Selector__Group_1_1__0 )
+ {
+ before(grammarAccess.getSelectorAccess().getGroup_1_1());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:763:1: ( rule__Selector__Group_1_1__0 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:763:2: rule__Selector__Group_1_1__0
+ {
+ pushFollow(FOLLOW_rule__Selector__Group_1_1__0_in_rule__Selector__Alternatives_11545);
+ rule__Selector__Group_1_1__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getSelectorAccess().getGroup_1_1());
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Selector__Alternatives_1"
+
+
+ // $ANTLR start "rule__Simple_selector__Alternatives"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:772:1: rule__Simple_selector__Alternatives : ( ( ( rule__Simple_selector__Group_0__0 ) ) | ( ( ( rule__Simple_selector__IdAssignment_1 ) ) ( ( rule__Simple_selector__IdAssignment_1 )* ) ) );
+ public final void rule__Simple_selector__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:776:1: ( ( ( rule__Simple_selector__Group_0__0 ) ) | ( ( ( rule__Simple_selector__IdAssignment_1 ) ) ( ( rule__Simple_selector__IdAssignment_1 )* ) ) )
+ int alt4=2;
+ int LA4_0 = input.LA(1);
+
+ if ( (LA4_0==RULE_IDENT||LA4_0==45) ) {
+ alt4=1;
+ }
+ else if ( ((LA4_0>=29 && LA4_0<=30)) ) {
+ alt4=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 4, 0, input);
+
+ throw nvae;
+ }
+ switch (alt4) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:777:1: ( ( rule__Simple_selector__Group_0__0 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:777:1: ( ( rule__Simple_selector__Group_0__0 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:778:1: ( rule__Simple_selector__Group_0__0 )
+ {
+ before(grammarAccess.getSimple_selectorAccess().getGroup_0());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:779:1: ( rule__Simple_selector__Group_0__0 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:779:2: rule__Simple_selector__Group_0__0
+ {
+ pushFollow(FOLLOW_rule__Simple_selector__Group_0__0_in_rule__Simple_selector__Alternatives1578);
+ rule__Simple_selector__Group_0__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getSimple_selectorAccess().getGroup_0());
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:783:6: ( ( ( rule__Simple_selector__IdAssignment_1 ) ) ( ( rule__Simple_selector__IdAssignment_1 )* ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:783:6: ( ( ( rule__Simple_selector__IdAssignment_1 ) ) ( ( rule__Simple_selector__IdAssignment_1 )* ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:784:1: ( ( rule__Simple_selector__IdAssignment_1 ) ) ( ( rule__Simple_selector__IdAssignment_1 )* )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:784:1: ( ( rule__Simple_selector__IdAssignment_1 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:785:1: ( rule__Simple_selector__IdAssignment_1 )
+ {
+ before(grammarAccess.getSimple_selectorAccess().getIdAssignment_1());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:786:1: ( rule__Simple_selector__IdAssignment_1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:786:2: rule__Simple_selector__IdAssignment_1
+ {
+ pushFollow(FOLLOW_rule__Simple_selector__IdAssignment_1_in_rule__Simple_selector__Alternatives1598);
+ rule__Simple_selector__IdAssignment_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getSimple_selectorAccess().getIdAssignment_1());
+
+ }
+
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:789:1: ( ( rule__Simple_selector__IdAssignment_1 )* )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:790:1: ( rule__Simple_selector__IdAssignment_1 )*
+ {
+ before(grammarAccess.getSimple_selectorAccess().getIdAssignment_1());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:791:1: ( rule__Simple_selector__IdAssignment_1 )*
+ loop3:
+ do {
+ int alt3=2;
+ int LA3_0 = input.LA(1);
+
+ if ( ((LA3_0>=29 && LA3_0<=30)) ) {
+ alt3=1;
+ }
+
+
+ switch (alt3) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:791:2: rule__Simple_selector__IdAssignment_1
+ {
+ pushFollow(FOLLOW_rule__Simple_selector__IdAssignment_1_in_rule__Simple_selector__Alternatives1610);
+ rule__Simple_selector__IdAssignment_1();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ default :
+ break loop3;
+ }
+ } while (true);
+
+ after(grammarAccess.getSimple_selectorAccess().getIdAssignment_1());
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Simple_selector__Alternatives"
+
+
+ // $ANTLR start "rule__Pseudo__Alternatives"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:801:1: rule__Pseudo__Alternatives : ( ( ( rule__Pseudo__Group_0__0 ) ) | ( ( rule__Pseudo__Group_1__0 ) ) );
+ public final void rule__Pseudo__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:805:1: ( ( ( rule__Pseudo__Group_0__0 ) ) | ( ( rule__Pseudo__Group_1__0 ) ) )
+ int alt5=2;
+ int LA5_0 = input.LA(1);
+
+ if ( (LA5_0==38) ) {
+ alt5=1;
+ }
+ else if ( (LA5_0==RULE_IDENT) ) {
+ alt5=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 5, 0, input);
+
+ throw nvae;
+ }
+ switch (alt5) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:806:1: ( ( rule__Pseudo__Group_0__0 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:806:1: ( ( rule__Pseudo__Group_0__0 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:807:1: ( rule__Pseudo__Group_0__0 )
+ {
+ before(grammarAccess.getPseudoAccess().getGroup_0());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:808:1: ( rule__Pseudo__Group_0__0 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:808:2: rule__Pseudo__Group_0__0
+ {
+ pushFollow(FOLLOW_rule__Pseudo__Group_0__0_in_rule__Pseudo__Alternatives1646);
+ rule__Pseudo__Group_0__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getPseudoAccess().getGroup_0());
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:812:6: ( ( rule__Pseudo__Group_1__0 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:812:6: ( ( rule__Pseudo__Group_1__0 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:813:1: ( rule__Pseudo__Group_1__0 )
+ {
+ before(grammarAccess.getPseudoAccess().getGroup_1());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:814:1: ( rule__Pseudo__Group_1__0 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:814:2: rule__Pseudo__Group_1__0
+ {
+ pushFollow(FOLLOW_rule__Pseudo__Group_1__0_in_rule__Pseudo__Alternatives1664);
+ rule__Pseudo__Group_1__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getPseudoAccess().getGroup_1());
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Pseudo__Alternatives"
+
+
+ // $ANTLR start "rule__Element_name__Alternatives"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:823:1: rule__Element_name__Alternatives : ( ( ( rule__Element_name__NameAssignment_0 ) ) | ( ( rule__Element_name__NameAssignment_1 ) ) );
+ public final void rule__Element_name__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:827:1: ( ( ( rule__Element_name__NameAssignment_0 ) ) | ( ( rule__Element_name__NameAssignment_1 ) ) )
+ int alt6=2;
+ int LA6_0 = input.LA(1);
+
+ if ( (LA6_0==RULE_IDENT) ) {
+ alt6=1;
+ }
+ else if ( (LA6_0==45) ) {
+ alt6=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 6, 0, input);
+
+ throw nvae;
+ }
+ switch (alt6) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:828:1: ( ( rule__Element_name__NameAssignment_0 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:828:1: ( ( rule__Element_name__NameAssignment_0 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:829:1: ( rule__Element_name__NameAssignment_0 )
+ {
+ before(grammarAccess.getElement_nameAccess().getNameAssignment_0());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:830:1: ( rule__Element_name__NameAssignment_0 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:830:2: rule__Element_name__NameAssignment_0
+ {
+ pushFollow(FOLLOW_rule__Element_name__NameAssignment_0_in_rule__Element_name__Alternatives1697);
+ rule__Element_name__NameAssignment_0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getElement_nameAccess().getNameAssignment_0());
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:834:6: ( ( rule__Element_name__NameAssignment_1 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:834:6: ( ( rule__Element_name__NameAssignment_1 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:835:1: ( rule__Element_name__NameAssignment_1 )
+ {
+ before(grammarAccess.getElement_nameAccess().getNameAssignment_1());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:836:1: ( rule__Element_name__NameAssignment_1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:836:2: rule__Element_name__NameAssignment_1
+ {
+ pushFollow(FOLLOW_rule__Element_name__NameAssignment_1_in_rule__Element_name__Alternatives1715);
+ rule__Element_name__NameAssignment_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getElement_nameAccess().getNameAssignment_1());
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Element_name__Alternatives"
+
+
+ // $ANTLR start "rule__Expr__OperatorsAlternatives_1_0_0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:845:1: rule__Expr__OperatorsAlternatives_1_0_0 : ( ( '/' ) | ( ',' ) );
+ public final void rule__Expr__OperatorsAlternatives_1_0_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:849:1: ( ( '/' ) | ( ',' ) )
+ int alt7=2;
+ int LA7_0 = input.LA(1);
+
+ if ( (LA7_0==13) ) {
+ alt7=1;
+ }
+ else if ( (LA7_0==14) ) {
+ alt7=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 7, 0, input);
+
+ throw nvae;
+ }
+ switch (alt7) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:850:1: ( '/' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:850:1: ( '/' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:851:1: '/'
+ {
+ before(grammarAccess.getExprAccess().getOperatorsSolidusKeyword_1_0_0_0());
+ match(input,13,FOLLOW_13_in_rule__Expr__OperatorsAlternatives_1_0_01749);
+ after(grammarAccess.getExprAccess().getOperatorsSolidusKeyword_1_0_0_0());
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:858:6: ( ',' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:858:6: ( ',' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:859:1: ','
+ {
+ before(grammarAccess.getExprAccess().getOperatorsCommaKeyword_1_0_0_1());
+ match(input,14,FOLLOW_14_in_rule__Expr__OperatorsAlternatives_1_0_01769);
+ after(grammarAccess.getExprAccess().getOperatorsCommaKeyword_1_0_0_1());
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Expr__OperatorsAlternatives_1_0_0"
+
+
+ // $ANTLR start "rule__Term__Alternatives"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:871:1: rule__Term__Alternatives : ( ( ( rule__Term__Group_0__0 ) ) | ( ( rule__Term__NameAssignment_1 ) ) | ( ( rule__Term__IdAssignment_2 ) ) | ( ( rule__Term__UriAssignment_3 ) ) | ( ( rule__Term__ColorAssignment_4 ) ) | ( ( rule__Term__FunctionAssignment_5 ) ) );
+ public final void rule__Term__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:875:1: ( ( ( rule__Term__Group_0__0 ) ) | ( ( rule__Term__NameAssignment_1 ) ) | ( ( rule__Term__IdAssignment_2 ) ) | ( ( rule__Term__UriAssignment_3 ) ) | ( ( rule__Term__ColorAssignment_4 ) ) | ( ( rule__Term__FunctionAssignment_5 ) ) )
+ int alt8=6;
+ switch ( input.LA(1) ) {
+ case RULE_INT:
+ case 31:
+ case 33:
+ {
+ alt8=1;
+ }
+ break;
+ case RULE_STRING:
+ {
+ alt8=2;
+ }
+ break;
+ case RULE_IDENT:
+ {
+ int LA8_3 = input.LA(2);
+
+ if ( (LA8_3==EOF||LA8_3==RULE_INT||(LA8_3>=RULE_STRING && LA8_3<=RULE_HEXDIGITS)||(LA8_3>=13 && LA8_3<=14)||LA8_3==31||LA8_3==33||(LA8_3>=35 && LA8_3<=36)||(LA8_3>=40 && LA8_3<=41)||LA8_3==46) ) {
+ alt8=3;
+ }
+ else if ( (LA8_3==39) ) {
+ alt8=6;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 8, 3, input);
+
+ throw nvae;
+ }
+ }
+ break;
+ case 41:
+ {
+ alt8=4;
+ }
+ break;
+ case RULE_HEXDIGITS:
+ {
+ alt8=5;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("", 8, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt8) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:876:1: ( ( rule__Term__Group_0__0 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:876:1: ( ( rule__Term__Group_0__0 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:877:1: ( rule__Term__Group_0__0 )
+ {
+ before(grammarAccess.getTermAccess().getGroup_0());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:878:1: ( rule__Term__Group_0__0 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:878:2: rule__Term__Group_0__0
+ {
+ pushFollow(FOLLOW_rule__Term__Group_0__0_in_rule__Term__Alternatives1803);
+ rule__Term__Group_0__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getTermAccess().getGroup_0());
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:882:6: ( ( rule__Term__NameAssignment_1 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:882:6: ( ( rule__Term__NameAssignment_1 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:883:1: ( rule__Term__NameAssignment_1 )
+ {
+ before(grammarAccess.getTermAccess().getNameAssignment_1());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:884:1: ( rule__Term__NameAssignment_1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:884:2: rule__Term__NameAssignment_1
+ {
+ pushFollow(FOLLOW_rule__Term__NameAssignment_1_in_rule__Term__Alternatives1821);
+ rule__Term__NameAssignment_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getTermAccess().getNameAssignment_1());
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:888:6: ( ( rule__Term__IdAssignment_2 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:888:6: ( ( rule__Term__IdAssignment_2 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:889:1: ( rule__Term__IdAssignment_2 )
+ {
+ before(grammarAccess.getTermAccess().getIdAssignment_2());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:890:1: ( rule__Term__IdAssignment_2 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:890:2: rule__Term__IdAssignment_2
+ {
+ pushFollow(FOLLOW_rule__Term__IdAssignment_2_in_rule__Term__Alternatives1839);
+ rule__Term__IdAssignment_2();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getTermAccess().getIdAssignment_2());
+
+ }
+
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:894:6: ( ( rule__Term__UriAssignment_3 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:894:6: ( ( rule__Term__UriAssignment_3 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:895:1: ( rule__Term__UriAssignment_3 )
+ {
+ before(grammarAccess.getTermAccess().getUriAssignment_3());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:896:1: ( rule__Term__UriAssignment_3 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:896:2: rule__Term__UriAssignment_3
+ {
+ pushFollow(FOLLOW_rule__Term__UriAssignment_3_in_rule__Term__Alternatives1857);
+ rule__Term__UriAssignment_3();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getTermAccess().getUriAssignment_3());
+
+ }
+
+
+ }
+ break;
+ case 5 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:900:6: ( ( rule__Term__ColorAssignment_4 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:900:6: ( ( rule__Term__ColorAssignment_4 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:901:1: ( rule__Term__ColorAssignment_4 )
+ {
+ before(grammarAccess.getTermAccess().getColorAssignment_4());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:902:1: ( rule__Term__ColorAssignment_4 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:902:2: rule__Term__ColorAssignment_4
+ {
+ pushFollow(FOLLOW_rule__Term__ColorAssignment_4_in_rule__Term__Alternatives1875);
+ rule__Term__ColorAssignment_4();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getTermAccess().getColorAssignment_4());
+
+ }
+
+
+ }
+ break;
+ case 6 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:906:6: ( ( rule__Term__FunctionAssignment_5 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:906:6: ( ( rule__Term__FunctionAssignment_5 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:907:1: ( rule__Term__FunctionAssignment_5 )
+ {
+ before(grammarAccess.getTermAccess().getFunctionAssignment_5());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:908:1: ( rule__Term__FunctionAssignment_5 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:908:2: rule__Term__FunctionAssignment_5
+ {
+ pushFollow(FOLLOW_rule__Term__FunctionAssignment_5_in_rule__Term__Alternatives1893);
+ rule__Term__FunctionAssignment_5();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getTermAccess().getFunctionAssignment_5());
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Term__Alternatives"
+
+
+ // $ANTLR start "rule__URI__Alternatives_3"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:917:1: rule__URI__Alternatives_3 : ( ( ( rule__URI__NameAssignment_3_0 ) ) | ( ( rule__URI__Group_3_1__0 ) ) );
+ public final void rule__URI__Alternatives_3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:921:1: ( ( ( rule__URI__NameAssignment_3_0 ) ) | ( ( rule__URI__Group_3_1__0 ) ) )
+ int alt9=2;
+ int LA9_0 = input.LA(1);
+
+ if ( (LA9_0==RULE_STRING) ) {
+ alt9=1;
+ }
+ else if ( (LA9_0==13||LA9_0==15) ) {
+ alt9=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 9, 0, input);
+
+ throw nvae;
+ }
+ switch (alt9) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:922:1: ( ( rule__URI__NameAssignment_3_0 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:922:1: ( ( rule__URI__NameAssignment_3_0 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:923:1: ( rule__URI__NameAssignment_3_0 )
+ {
+ before(grammarAccess.getURIAccess().getNameAssignment_3_0());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:924:1: ( rule__URI__NameAssignment_3_0 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:924:2: rule__URI__NameAssignment_3_0
+ {
+ pushFollow(FOLLOW_rule__URI__NameAssignment_3_0_in_rule__URI__Alternatives_31926);
+ rule__URI__NameAssignment_3_0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getURIAccess().getNameAssignment_3_0());
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:928:6: ( ( rule__URI__Group_3_1__0 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:928:6: ( ( rule__URI__Group_3_1__0 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:929:1: ( rule__URI__Group_3_1__0 )
+ {
+ before(grammarAccess.getURIAccess().getGroup_3_1());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:930:1: ( rule__URI__Group_3_1__0 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:930:2: rule__URI__Group_3_1__0
+ {
+ pushFollow(FOLLOW_rule__URI__Group_3_1__0_in_rule__URI__Alternatives_31944);
+ rule__URI__Group_3_1__0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getURIAccess().getGroup_3_1());
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__URI__Alternatives_3"
+
+
+ // $ANTLR start "rule__URI__Alternatives_3_1_0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:939:1: rule__URI__Alternatives_3_1_0 : ( ( '\\\\' ) | ( '/' ) );
+ public final void rule__URI__Alternatives_3_1_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:943:1: ( ( '\\\\' ) | ( '/' ) )
+ int alt10=2;
+ int LA10_0 = input.LA(1);
+
+ if ( (LA10_0==15) ) {
+ alt10=1;
+ }
+ else if ( (LA10_0==13) ) {
+ alt10=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 10, 0, input);
+
+ throw nvae;
+ }
+ switch (alt10) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:944:1: ( '\\\\' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:944:1: ( '\\\\' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:945:1: '\\\\'
+ {
+ before(grammarAccess.getURIAccess().getReverseSolidusKeyword_3_1_0_0());
+ match(input,15,FOLLOW_15_in_rule__URI__Alternatives_3_1_01978);
+ after(grammarAccess.getURIAccess().getReverseSolidusKeyword_3_1_0_0());
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:952:6: ( '/' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:952:6: ( '/' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:953:1: '/'
+ {
+ before(grammarAccess.getURIAccess().getSolidusKeyword_3_1_0_1());
+ match(input,13,FOLLOW_13_in_rule__URI__Alternatives_3_1_01998);
+ after(grammarAccess.getURIAccess().getSolidusKeyword_3_1_0_1());
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__URI__Alternatives_3_1_0"
+
+
+ // $ANTLR start "rule__Unary_numbers__Alternatives"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:965:1: rule__Unary_numbers__Alternatives : ( ( RULE_INT ) | ( rulePERCENTAGE ) | ( ruleLENGTH ) | ( ruleEMS ) | ( ruleEXS ) | ( ruleANGLE ) | ( ruleTIME ) | ( ruleFREQ ) );
+ public final void rule__Unary_numbers__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:969:1: ( ( RULE_INT ) | ( rulePERCENTAGE ) | ( ruleLENGTH ) | ( ruleEMS ) | ( ruleEXS ) | ( ruleANGLE ) | ( ruleTIME ) | ( ruleFREQ ) )
+ int alt11=8;
+ alt11 = dfa11.predict(input);
+ switch (alt11) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:970:1: ( RULE_INT )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:970:1: ( RULE_INT )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:971:1: RULE_INT
+ {
+ before(grammarAccess.getUnary_numbersAccess().getINTTerminalRuleCall_0());
+ match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__Unary_numbers__Alternatives2032);
+ after(grammarAccess.getUnary_numbersAccess().getINTTerminalRuleCall_0());
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:976:6: ( rulePERCENTAGE )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:976:6: ( rulePERCENTAGE )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:977:1: rulePERCENTAGE
+ {
+ before(grammarAccess.getUnary_numbersAccess().getPERCENTAGEParserRuleCall_1());
+ pushFollow(FOLLOW_rulePERCENTAGE_in_rule__Unary_numbers__Alternatives2049);
+ rulePERCENTAGE();
+
+ state._fsp--;
+
+ after(grammarAccess.getUnary_numbersAccess().getPERCENTAGEParserRuleCall_1());
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:982:6: ( ruleLENGTH )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:982:6: ( ruleLENGTH )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:983:1: ruleLENGTH
+ {
+ before(grammarAccess.getUnary_numbersAccess().getLENGTHParserRuleCall_2());
+ pushFollow(FOLLOW_ruleLENGTH_in_rule__Unary_numbers__Alternatives2066);
+ ruleLENGTH();
+
+ state._fsp--;
+
+ after(grammarAccess.getUnary_numbersAccess().getLENGTHParserRuleCall_2());
+
+ }
+
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:988:6: ( ruleEMS )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:988:6: ( ruleEMS )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:989:1: ruleEMS
+ {
+ before(grammarAccess.getUnary_numbersAccess().getEMSParserRuleCall_3());
+ pushFollow(FOLLOW_ruleEMS_in_rule__Unary_numbers__Alternatives2083);
+ ruleEMS();
+
+ state._fsp--;
+
+ after(grammarAccess.getUnary_numbersAccess().getEMSParserRuleCall_3());
+
+ }
+
+
+ }
+ break;
+ case 5 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:994:6: ( ruleEXS )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:994:6: ( ruleEXS )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:995:1: ruleEXS
+ {
+ before(grammarAccess.getUnary_numbersAccess().getEXSParserRuleCall_4());
+ pushFollow(FOLLOW_ruleEXS_in_rule__Unary_numbers__Alternatives2100);
+ ruleEXS();
+
+ state._fsp--;
+
+ after(grammarAccess.getUnary_numbersAccess().getEXSParserRuleCall_4());
+
+ }
+
+
+ }
+ break;
+ case 6 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1000:6: ( ruleANGLE )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1000:6: ( ruleANGLE )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1001:1: ruleANGLE
+ {
+ before(grammarAccess.getUnary_numbersAccess().getANGLEParserRuleCall_5());
+ pushFollow(FOLLOW_ruleANGLE_in_rule__Unary_numbers__Alternatives2117);
+ ruleANGLE();
+
+ state._fsp--;
+
+ after(grammarAccess.getUnary_numbersAccess().getANGLEParserRuleCall_5());
+
+ }
+
+
+ }
+ break;
+ case 7 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1006:6: ( ruleTIME )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1006:6: ( ruleTIME )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1007:1: ruleTIME
+ {
+ before(grammarAccess.getUnary_numbersAccess().getTIMEParserRuleCall_6());
+ pushFollow(FOLLOW_ruleTIME_in_rule__Unary_numbers__Alternatives2134);
+ ruleTIME();
+
+ state._fsp--;
+
+ after(grammarAccess.getUnary_numbersAccess().getTIMEParserRuleCall_6());
+
+ }
+
+
+ }
+ break;
+ case 8 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1012:6: ( ruleFREQ )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1012:6: ( ruleFREQ )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1013:1: ruleFREQ
+ {
+ before(grammarAccess.getUnary_numbersAccess().getFREQParserRuleCall_7());
+ pushFollow(FOLLOW_ruleFREQ_in_rule__Unary_numbers__Alternatives2151);
+ ruleFREQ();
+
+ state._fsp--;
+
+ after(grammarAccess.getUnary_numbersAccess().getFREQParserRuleCall_7());
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Unary_numbers__Alternatives"
+
+
+ // $ANTLR start "rule__LENGTH__Alternatives_1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1023:1: rule__LENGTH__Alternatives_1 : ( ( 'px' ) | ( 'cm' ) | ( 'mm' ) | ( 'in' ) | ( 'pt' ) | ( 'pc' ) );
+ public final void rule__LENGTH__Alternatives_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1027:1: ( ( 'px' ) | ( 'cm' ) | ( 'mm' ) | ( 'in' ) | ( 'pt' ) | ( 'pc' ) )
+ int alt12=6;
+ switch ( input.LA(1) ) {
+ case 16:
+ {
+ alt12=1;
+ }
+ break;
+ case 17:
+ {
+ alt12=2;
+ }
+ break;
+ case 18:
+ {
+ alt12=3;
+ }
+ break;
+ case 19:
+ {
+ alt12=4;
+ }
+ break;
+ case 20:
+ {
+ alt12=5;
+ }
+ break;
+ case 21:
+ {
+ alt12=6;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("", 12, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt12) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1028:1: ( 'px' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1028:1: ( 'px' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1029:1: 'px'
+ {
+ before(grammarAccess.getLENGTHAccess().getPxKeyword_1_0());
+ match(input,16,FOLLOW_16_in_rule__LENGTH__Alternatives_12184);
+ after(grammarAccess.getLENGTHAccess().getPxKeyword_1_0());
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1036:6: ( 'cm' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1036:6: ( 'cm' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1037:1: 'cm'
+ {
+ before(grammarAccess.getLENGTHAccess().getCmKeyword_1_1());
+ match(input,17,FOLLOW_17_in_rule__LENGTH__Alternatives_12204);
+ after(grammarAccess.getLENGTHAccess().getCmKeyword_1_1());
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1044:6: ( 'mm' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1044:6: ( 'mm' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1045:1: 'mm'
+ {
+ before(grammarAccess.getLENGTHAccess().getMmKeyword_1_2());
+ match(input,18,FOLLOW_18_in_rule__LENGTH__Alternatives_12224);
+ after(grammarAccess.getLENGTHAccess().getMmKeyword_1_2());
+
+ }
+
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1052:6: ( 'in' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1052:6: ( 'in' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1053:1: 'in'
+ {
+ before(grammarAccess.getLENGTHAccess().getInKeyword_1_3());
+ match(input,19,FOLLOW_19_in_rule__LENGTH__Alternatives_12244);
+ after(grammarAccess.getLENGTHAccess().getInKeyword_1_3());
+
+ }
+
+
+ }
+ break;
+ case 5 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1060:6: ( 'pt' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1060:6: ( 'pt' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1061:1: 'pt'
+ {
+ before(grammarAccess.getLENGTHAccess().getPtKeyword_1_4());
+ match(input,20,FOLLOW_20_in_rule__LENGTH__Alternatives_12264);
+ after(grammarAccess.getLENGTHAccess().getPtKeyword_1_4());
+
+ }
+
+
+ }
+ break;
+ case 6 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1068:6: ( 'pc' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1068:6: ( 'pc' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1069:1: 'pc'
+ {
+ before(grammarAccess.getLENGTHAccess().getPcKeyword_1_5());
+ match(input,21,FOLLOW_21_in_rule__LENGTH__Alternatives_12284);
+ after(grammarAccess.getLENGTHAccess().getPcKeyword_1_5());
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LENGTH__Alternatives_1"
+
+
+ // $ANTLR start "rule__ANGLE__Alternatives_1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1081:1: rule__ANGLE__Alternatives_1 : ( ( 'deg' ) | ( 'rad' ) | ( 'grad' ) );
+ public final void rule__ANGLE__Alternatives_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1085:1: ( ( 'deg' ) | ( 'rad' ) | ( 'grad' ) )
+ int alt13=3;
+ switch ( input.LA(1) ) {
+ case 22:
+ {
+ alt13=1;
+ }
+ break;
+ case 23:
+ {
+ alt13=2;
+ }
+ break;
+ case 24:
+ {
+ alt13=3;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("", 13, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt13) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1086:1: ( 'deg' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1086:1: ( 'deg' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1087:1: 'deg'
+ {
+ before(grammarAccess.getANGLEAccess().getDegKeyword_1_0());
+ match(input,22,FOLLOW_22_in_rule__ANGLE__Alternatives_12319);
+ after(grammarAccess.getANGLEAccess().getDegKeyword_1_0());
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1094:6: ( 'rad' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1094:6: ( 'rad' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1095:1: 'rad'
+ {
+ before(grammarAccess.getANGLEAccess().getRadKeyword_1_1());
+ match(input,23,FOLLOW_23_in_rule__ANGLE__Alternatives_12339);
+ after(grammarAccess.getANGLEAccess().getRadKeyword_1_1());
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1102:6: ( 'grad' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1102:6: ( 'grad' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1103:1: 'grad'
+ {
+ before(grammarAccess.getANGLEAccess().getGradKeyword_1_2());
+ match(input,24,FOLLOW_24_in_rule__ANGLE__Alternatives_12359);
+ after(grammarAccess.getANGLEAccess().getGradKeyword_1_2());
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ANGLE__Alternatives_1"
+
+
+ // $ANTLR start "rule__TIME__Alternatives_1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1115:1: rule__TIME__Alternatives_1 : ( ( 'ms' ) | ( 's' ) );
+ public final void rule__TIME__Alternatives_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1119:1: ( ( 'ms' ) | ( 's' ) )
+ int alt14=2;
+ int LA14_0 = input.LA(1);
+
+ if ( (LA14_0==25) ) {
+ alt14=1;
+ }
+ else if ( (LA14_0==26) ) {
+ alt14=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 14, 0, input);
+
+ throw nvae;
+ }
+ switch (alt14) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1120:1: ( 'ms' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1120:1: ( 'ms' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1121:1: 'ms'
+ {
+ before(grammarAccess.getTIMEAccess().getMsKeyword_1_0());
+ match(input,25,FOLLOW_25_in_rule__TIME__Alternatives_12394);
+ after(grammarAccess.getTIMEAccess().getMsKeyword_1_0());
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1128:6: ( 's' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1128:6: ( 's' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1129:1: 's'
+ {
+ before(grammarAccess.getTIMEAccess().getSKeyword_1_1());
+ match(input,26,FOLLOW_26_in_rule__TIME__Alternatives_12414);
+ after(grammarAccess.getTIMEAccess().getSKeyword_1_1());
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TIME__Alternatives_1"
+
+
+ // $ANTLR start "rule__FREQ__Alternatives_1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1141:1: rule__FREQ__Alternatives_1 : ( ( 'hz' ) | ( 'khz' ) );
+ public final void rule__FREQ__Alternatives_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1145:1: ( ( 'hz' ) | ( 'khz' ) )
+ int alt15=2;
+ int LA15_0 = input.LA(1);
+
+ if ( (LA15_0==27) ) {
+ alt15=1;
+ }
+ else if ( (LA15_0==28) ) {
+ alt15=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 15, 0, input);
+
+ throw nvae;
+ }
+ switch (alt15) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1146:1: ( 'hz' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1146:1: ( 'hz' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1147:1: 'hz'
+ {
+ before(grammarAccess.getFREQAccess().getHzKeyword_1_0());
+ match(input,27,FOLLOW_27_in_rule__FREQ__Alternatives_12449);
+ after(grammarAccess.getFREQAccess().getHzKeyword_1_0());
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1154:6: ( 'khz' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1154:6: ( 'khz' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1155:1: 'khz'
+ {
+ before(grammarAccess.getFREQAccess().getKhzKeyword_1_1());
+ match(input,28,FOLLOW_28_in_rule__FREQ__Alternatives_12469);
+ after(grammarAccess.getFREQAccess().getKhzKeyword_1_1());
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__FREQ__Alternatives_1"
+
+
+ // $ANTLR start "rule__Css_hash_class__TypeAlternatives_0_0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1167:1: rule__Css_hash_class__TypeAlternatives_0_0 : ( ( '#' ) | ( '.' ) );
+ public final void rule__Css_hash_class__TypeAlternatives_0_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1171:1: ( ( '#' ) | ( '.' ) )
+ int alt16=2;
+ int LA16_0 = input.LA(1);
+
+ if ( (LA16_0==29) ) {
+ alt16=1;
+ }
+ else if ( (LA16_0==30) ) {
+ alt16=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 16, 0, input);
+
+ throw nvae;
+ }
+ switch (alt16) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1172:1: ( '#' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1172:1: ( '#' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1173:1: '#'
+ {
+ before(grammarAccess.getCss_hash_classAccess().getTypeNumberSignKeyword_0_0_0());
+ match(input,29,FOLLOW_29_in_rule__Css_hash_class__TypeAlternatives_0_02504);
+ after(grammarAccess.getCss_hash_classAccess().getTypeNumberSignKeyword_0_0_0());
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1180:6: ( '.' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1180:6: ( '.' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1181:1: '.'
+ {
+ before(grammarAccess.getCss_hash_classAccess().getTypeFullStopKeyword_0_0_1());
+ match(input,30,FOLLOW_30_in_rule__Css_hash_class__TypeAlternatives_0_02524);
+ after(grammarAccess.getCss_hash_classAccess().getTypeFullStopKeyword_0_0_1());
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Css_hash_class__TypeAlternatives_0_0"
+
+
+ // $ANTLR start "rule__Combinator__Alternatives"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1193:1: rule__Combinator__Alternatives : ( ( '+' ) | ( '>' ) );
+ public final void rule__Combinator__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1197:1: ( ( '+' ) | ( '>' ) )
+ int alt17=2;
+ int LA17_0 = input.LA(1);
+
+ if ( (LA17_0==31) ) {
+ alt17=1;
+ }
+ else if ( (LA17_0==32) ) {
+ alt17=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 17, 0, input);
+
+ throw nvae;
+ }
+ switch (alt17) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1198:1: ( '+' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1198:1: ( '+' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1199:1: '+'
+ {
+ before(grammarAccess.getCombinatorAccess().getPlusSignKeyword_0());
+ match(input,31,FOLLOW_31_in_rule__Combinator__Alternatives2559);
+ after(grammarAccess.getCombinatorAccess().getPlusSignKeyword_0());
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1206:6: ( '>' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1206:6: ( '>' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1207:1: '>'
+ {
+ before(grammarAccess.getCombinatorAccess().getGreaterThanSignKeyword_1());
+ match(input,32,FOLLOW_32_in_rule__Combinator__Alternatives2579);
+ after(grammarAccess.getCombinatorAccess().getGreaterThanSignKeyword_1());
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Combinator__Alternatives"
+
+
+ // $ANTLR start "rule__Unary_operator__Alternatives"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1219:1: rule__Unary_operator__Alternatives : ( ( '-' ) | ( '+' ) );
+ public final void rule__Unary_operator__Alternatives() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1223:1: ( ( '-' ) | ( '+' ) )
+ int alt18=2;
+ int LA18_0 = input.LA(1);
+
+ if ( (LA18_0==33) ) {
+ alt18=1;
+ }
+ else if ( (LA18_0==31) ) {
+ alt18=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 18, 0, input);
+
+ throw nvae;
+ }
+ switch (alt18) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1224:1: ( '-' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1224:1: ( '-' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1225:1: '-'
+ {
+ before(grammarAccess.getUnary_operatorAccess().getHyphenMinusKeyword_0());
+ match(input,33,FOLLOW_33_in_rule__Unary_operator__Alternatives2614);
+ after(grammarAccess.getUnary_operatorAccess().getHyphenMinusKeyword_0());
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1232:6: ( '+' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1232:6: ( '+' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1233:1: '+'
+ {
+ before(grammarAccess.getUnary_operatorAccess().getPlusSignKeyword_1());
+ match(input,31,FOLLOW_31_in_rule__Unary_operator__Alternatives2634);
+ after(grammarAccess.getUnary_operatorAccess().getPlusSignKeyword_1());
+
+ }
+
+
+ }
+ break;
+
+ }
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Unary_operator__Alternatives"
+
+
+ // $ANTLR start "rule__Stylesheet__Group__0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1247:1: rule__Stylesheet__Group__0 : rule__Stylesheet__Group__0__Impl rule__Stylesheet__Group__1 ;
+ public final void rule__Stylesheet__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1251:1: ( rule__Stylesheet__Group__0__Impl rule__Stylesheet__Group__1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1252:2: rule__Stylesheet__Group__0__Impl rule__Stylesheet__Group__1
+ {
+ pushFollow(FOLLOW_rule__Stylesheet__Group__0__Impl_in_rule__Stylesheet__Group__02666);
+ rule__Stylesheet__Group__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Stylesheet__Group__1_in_rule__Stylesheet__Group__02669);
+ rule__Stylesheet__Group__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Stylesheet__Group__0"
+
+
+ // $ANTLR start "rule__Stylesheet__Group__0__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1259:1: rule__Stylesheet__Group__0__Impl : ( ( rule__Stylesheet__LocationAssignment_0 )? ) ;
+ public final void rule__Stylesheet__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1263:1: ( ( ( rule__Stylesheet__LocationAssignment_0 )? ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1264:1: ( ( rule__Stylesheet__LocationAssignment_0 )? )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1264:1: ( ( rule__Stylesheet__LocationAssignment_0 )? )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1265:1: ( rule__Stylesheet__LocationAssignment_0 )?
+ {
+ before(grammarAccess.getStylesheetAccess().getLocationAssignment_0());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1266:1: ( rule__Stylesheet__LocationAssignment_0 )?
+ int alt19=2;
+ int LA19_0 = input.LA(1);
+
+ if ( (LA19_0==RULE_STRING) ) {
+ alt19=1;
+ }
+ switch (alt19) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1266:2: rule__Stylesheet__LocationAssignment_0
+ {
+ pushFollow(FOLLOW_rule__Stylesheet__LocationAssignment_0_in_rule__Stylesheet__Group__0__Impl2696);
+ rule__Stylesheet__LocationAssignment_0();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ }
+
+ after(grammarAccess.getStylesheetAccess().getLocationAssignment_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Stylesheet__Group__0__Impl"
+
+
+ // $ANTLR start "rule__Stylesheet__Group__1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1276:1: rule__Stylesheet__Group__1 : rule__Stylesheet__Group__1__Impl rule__Stylesheet__Group__2 ;
+ public final void rule__Stylesheet__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1280:1: ( rule__Stylesheet__Group__1__Impl rule__Stylesheet__Group__2 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1281:2: rule__Stylesheet__Group__1__Impl rule__Stylesheet__Group__2
+ {
+ pushFollow(FOLLOW_rule__Stylesheet__Group__1__Impl_in_rule__Stylesheet__Group__12727);
+ rule__Stylesheet__Group__1__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Stylesheet__Group__2_in_rule__Stylesheet__Group__12730);
+ rule__Stylesheet__Group__2();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Stylesheet__Group__1"
+
+
+ // $ANTLR start "rule__Stylesheet__Group__1__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1288:1: rule__Stylesheet__Group__1__Impl : ( ( rule__Stylesheet__ImportNameAssignment_1 )* ) ;
+ public final void rule__Stylesheet__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1292:1: ( ( ( rule__Stylesheet__ImportNameAssignment_1 )* ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1293:1: ( ( rule__Stylesheet__ImportNameAssignment_1 )* )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1293:1: ( ( rule__Stylesheet__ImportNameAssignment_1 )* )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1294:1: ( rule__Stylesheet__ImportNameAssignment_1 )*
+ {
+ before(grammarAccess.getStylesheetAccess().getImportNameAssignment_1());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1295:1: ( rule__Stylesheet__ImportNameAssignment_1 )*
+ loop20:
+ do {
+ int alt20=2;
+ int LA20_0 = input.LA(1);
+
+ if ( (LA20_0==37) ) {
+ alt20=1;
+ }
+
+
+ switch (alt20) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1295:2: rule__Stylesheet__ImportNameAssignment_1
+ {
+ pushFollow(FOLLOW_rule__Stylesheet__ImportNameAssignment_1_in_rule__Stylesheet__Group__1__Impl2757);
+ rule__Stylesheet__ImportNameAssignment_1();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ default :
+ break loop20;
+ }
+ } while (true);
+
+ after(grammarAccess.getStylesheetAccess().getImportNameAssignment_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Stylesheet__Group__1__Impl"
+
+
+ // $ANTLR start "rule__Stylesheet__Group__2"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1305:1: rule__Stylesheet__Group__2 : rule__Stylesheet__Group__2__Impl ;
+ public final void rule__Stylesheet__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1309:1: ( rule__Stylesheet__Group__2__Impl )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1310:2: rule__Stylesheet__Group__2__Impl
+ {
+ pushFollow(FOLLOW_rule__Stylesheet__Group__2__Impl_in_rule__Stylesheet__Group__22788);
+ rule__Stylesheet__Group__2__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Stylesheet__Group__2"
+
+
+ // $ANTLR start "rule__Stylesheet__Group__2__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1316:1: rule__Stylesheet__Group__2__Impl : ( ( rule__Stylesheet__RulesetAssignment_2 )* ) ;
+ public final void rule__Stylesheet__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1320:1: ( ( ( rule__Stylesheet__RulesetAssignment_2 )* ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1321:1: ( ( rule__Stylesheet__RulesetAssignment_2 )* )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1321:1: ( ( rule__Stylesheet__RulesetAssignment_2 )* )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1322:1: ( rule__Stylesheet__RulesetAssignment_2 )*
+ {
+ before(grammarAccess.getStylesheetAccess().getRulesetAssignment_2());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1323:1: ( rule__Stylesheet__RulesetAssignment_2 )*
+ loop21:
+ do {
+ int alt21=2;
+ int LA21_0 = input.LA(1);
+
+ if ( (LA21_0==RULE_IDENT||(LA21_0>=29 && LA21_0<=30)||LA21_0==45) ) {
+ alt21=1;
+ }
+
+
+ switch (alt21) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1323:2: rule__Stylesheet__RulesetAssignment_2
+ {
+ pushFollow(FOLLOW_rule__Stylesheet__RulesetAssignment_2_in_rule__Stylesheet__Group__2__Impl2815);
+ rule__Stylesheet__RulesetAssignment_2();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ default :
+ break loop21;
+ }
+ } while (true);
+
+ after(grammarAccess.getStylesheetAccess().getRulesetAssignment_2());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Stylesheet__Group__2__Impl"
+
+
+ // $ANTLR start "rule__Rules__Group__0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1339:1: rule__Rules__Group__0 : rule__Rules__Group__0__Impl rule__Rules__Group__1 ;
+ public final void rule__Rules__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1343:1: ( rule__Rules__Group__0__Impl rule__Rules__Group__1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1344:2: rule__Rules__Group__0__Impl rule__Rules__Group__1
+ {
+ pushFollow(FOLLOW_rule__Rules__Group__0__Impl_in_rule__Rules__Group__02852);
+ rule__Rules__Group__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Rules__Group__1_in_rule__Rules__Group__02855);
+ rule__Rules__Group__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Rules__Group__0"
+
+
+ // $ANTLR start "rule__Rules__Group__0__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1351:1: rule__Rules__Group__0__Impl : ( ( rule__Rules__SelectorsAssignment_0 ) ) ;
+ public final void rule__Rules__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1355:1: ( ( ( rule__Rules__SelectorsAssignment_0 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1356:1: ( ( rule__Rules__SelectorsAssignment_0 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1356:1: ( ( rule__Rules__SelectorsAssignment_0 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1357:1: ( rule__Rules__SelectorsAssignment_0 )
+ {
+ before(grammarAccess.getRulesAccess().getSelectorsAssignment_0());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1358:1: ( rule__Rules__SelectorsAssignment_0 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1358:2: rule__Rules__SelectorsAssignment_0
+ {
+ pushFollow(FOLLOW_rule__Rules__SelectorsAssignment_0_in_rule__Rules__Group__0__Impl2882);
+ rule__Rules__SelectorsAssignment_0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getRulesAccess().getSelectorsAssignment_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Rules__Group__0__Impl"
+
+
+ // $ANTLR start "rule__Rules__Group__1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1368:1: rule__Rules__Group__1 : rule__Rules__Group__1__Impl rule__Rules__Group__2 ;
+ public final void rule__Rules__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1372:1: ( rule__Rules__Group__1__Impl rule__Rules__Group__2 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1373:2: rule__Rules__Group__1__Impl rule__Rules__Group__2
+ {
+ pushFollow(FOLLOW_rule__Rules__Group__1__Impl_in_rule__Rules__Group__12912);
+ rule__Rules__Group__1__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Rules__Group__2_in_rule__Rules__Group__12915);
+ rule__Rules__Group__2();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Rules__Group__1"
+
+
+ // $ANTLR start "rule__Rules__Group__1__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1380:1: rule__Rules__Group__1__Impl : ( ( rule__Rules__Group_1__0 )* ) ;
+ public final void rule__Rules__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1384:1: ( ( ( rule__Rules__Group_1__0 )* ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1385:1: ( ( rule__Rules__Group_1__0 )* )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1385:1: ( ( rule__Rules__Group_1__0 )* )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1386:1: ( rule__Rules__Group_1__0 )*
+ {
+ before(grammarAccess.getRulesAccess().getGroup_1());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1387:1: ( rule__Rules__Group_1__0 )*
+ loop22:
+ do {
+ int alt22=2;
+ int LA22_0 = input.LA(1);
+
+ if ( (LA22_0==14) ) {
+ alt22=1;
+ }
+
+
+ switch (alt22) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1387:2: rule__Rules__Group_1__0
+ {
+ pushFollow(FOLLOW_rule__Rules__Group_1__0_in_rule__Rules__Group__1__Impl2942);
+ rule__Rules__Group_1__0();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ default :
+ break loop22;
+ }
+ } while (true);
+
+ after(grammarAccess.getRulesAccess().getGroup_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Rules__Group__1__Impl"
+
+
+ // $ANTLR start "rule__Rules__Group__2"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1397:1: rule__Rules__Group__2 : rule__Rules__Group__2__Impl rule__Rules__Group__3 ;
+ public final void rule__Rules__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1401:1: ( rule__Rules__Group__2__Impl rule__Rules__Group__3 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1402:2: rule__Rules__Group__2__Impl rule__Rules__Group__3
+ {
+ pushFollow(FOLLOW_rule__Rules__Group__2__Impl_in_rule__Rules__Group__22973);
+ rule__Rules__Group__2__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Rules__Group__3_in_rule__Rules__Group__22976);
+ rule__Rules__Group__3();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Rules__Group__2"
+
+
+ // $ANTLR start "rule__Rules__Group__2__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1409:1: rule__Rules__Group__2__Impl : ( '{' ) ;
+ public final void rule__Rules__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1413:1: ( ( '{' ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1414:1: ( '{' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1414:1: ( '{' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1415:1: '{'
+ {
+ before(grammarAccess.getRulesAccess().getLeftCurlyBracketKeyword_2());
+ match(input,34,FOLLOW_34_in_rule__Rules__Group__2__Impl3004);
+ after(grammarAccess.getRulesAccess().getLeftCurlyBracketKeyword_2());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Rules__Group__2__Impl"
+
+
+ // $ANTLR start "rule__Rules__Group__3"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1428:1: rule__Rules__Group__3 : rule__Rules__Group__3__Impl rule__Rules__Group__4 ;
+ public final void rule__Rules__Group__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1432:1: ( rule__Rules__Group__3__Impl rule__Rules__Group__4 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1433:2: rule__Rules__Group__3__Impl rule__Rules__Group__4
+ {
+ pushFollow(FOLLOW_rule__Rules__Group__3__Impl_in_rule__Rules__Group__33035);
+ rule__Rules__Group__3__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Rules__Group__4_in_rule__Rules__Group__33038);
+ rule__Rules__Group__4();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Rules__Group__3"
+
+
+ // $ANTLR start "rule__Rules__Group__3__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1440:1: rule__Rules__Group__3__Impl : ( ( rule__Rules__DeclarationsAssignment_3 )? ) ;
+ public final void rule__Rules__Group__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1444:1: ( ( ( rule__Rules__DeclarationsAssignment_3 )? ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1445:1: ( ( rule__Rules__DeclarationsAssignment_3 )? )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1445:1: ( ( rule__Rules__DeclarationsAssignment_3 )? )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1446:1: ( rule__Rules__DeclarationsAssignment_3 )?
+ {
+ before(grammarAccess.getRulesAccess().getDeclarationsAssignment_3());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1447:1: ( rule__Rules__DeclarationsAssignment_3 )?
+ int alt23=2;
+ int LA23_0 = input.LA(1);
+
+ if ( (LA23_0==RULE_IDENT) ) {
+ alt23=1;
+ }
+ switch (alt23) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1447:2: rule__Rules__DeclarationsAssignment_3
+ {
+ pushFollow(FOLLOW_rule__Rules__DeclarationsAssignment_3_in_rule__Rules__Group__3__Impl3065);
+ rule__Rules__DeclarationsAssignment_3();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ }
+
+ after(grammarAccess.getRulesAccess().getDeclarationsAssignment_3());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Rules__Group__3__Impl"
+
+
+ // $ANTLR start "rule__Rules__Group__4"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1457:1: rule__Rules__Group__4 : rule__Rules__Group__4__Impl rule__Rules__Group__5 ;
+ public final void rule__Rules__Group__4() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1461:1: ( rule__Rules__Group__4__Impl rule__Rules__Group__5 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1462:2: rule__Rules__Group__4__Impl rule__Rules__Group__5
+ {
+ pushFollow(FOLLOW_rule__Rules__Group__4__Impl_in_rule__Rules__Group__43096);
+ rule__Rules__Group__4__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Rules__Group__5_in_rule__Rules__Group__43099);
+ rule__Rules__Group__5();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Rules__Group__4"
+
+
+ // $ANTLR start "rule__Rules__Group__4__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1469:1: rule__Rules__Group__4__Impl : ( ( rule__Rules__Group_4__0 )* ) ;
+ public final void rule__Rules__Group__4__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1473:1: ( ( ( rule__Rules__Group_4__0 )* ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1474:1: ( ( rule__Rules__Group_4__0 )* )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1474:1: ( ( rule__Rules__Group_4__0 )* )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1475:1: ( rule__Rules__Group_4__0 )*
+ {
+ before(grammarAccess.getRulesAccess().getGroup_4());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1476:1: ( rule__Rules__Group_4__0 )*
+ loop24:
+ do {
+ int alt24=2;
+ int LA24_0 = input.LA(1);
+
+ if ( (LA24_0==36) ) {
+ alt24=1;
+ }
+
+
+ switch (alt24) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1476:2: rule__Rules__Group_4__0
+ {
+ pushFollow(FOLLOW_rule__Rules__Group_4__0_in_rule__Rules__Group__4__Impl3126);
+ rule__Rules__Group_4__0();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ default :
+ break loop24;
+ }
+ } while (true);
+
+ after(grammarAccess.getRulesAccess().getGroup_4());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Rules__Group__4__Impl"
+
+
+ // $ANTLR start "rule__Rules__Group__5"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1486:1: rule__Rules__Group__5 : rule__Rules__Group__5__Impl ;
+ public final void rule__Rules__Group__5() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1490:1: ( rule__Rules__Group__5__Impl )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1491:2: rule__Rules__Group__5__Impl
+ {
+ pushFollow(FOLLOW_rule__Rules__Group__5__Impl_in_rule__Rules__Group__53157);
+ rule__Rules__Group__5__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Rules__Group__5"
+
+
+ // $ANTLR start "rule__Rules__Group__5__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1497:1: rule__Rules__Group__5__Impl : ( '}' ) ;
+ public final void rule__Rules__Group__5__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1501:1: ( ( '}' ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1502:1: ( '}' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1502:1: ( '}' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1503:1: '}'
+ {
+ before(grammarAccess.getRulesAccess().getRightCurlyBracketKeyword_5());
+ match(input,35,FOLLOW_35_in_rule__Rules__Group__5__Impl3185);
+ after(grammarAccess.getRulesAccess().getRightCurlyBracketKeyword_5());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Rules__Group__5__Impl"
+
+
+ // $ANTLR start "rule__Rules__Group_1__0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1528:1: rule__Rules__Group_1__0 : rule__Rules__Group_1__0__Impl rule__Rules__Group_1__1 ;
+ public final void rule__Rules__Group_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1532:1: ( rule__Rules__Group_1__0__Impl rule__Rules__Group_1__1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1533:2: rule__Rules__Group_1__0__Impl rule__Rules__Group_1__1
+ {
+ pushFollow(FOLLOW_rule__Rules__Group_1__0__Impl_in_rule__Rules__Group_1__03228);
+ rule__Rules__Group_1__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Rules__Group_1__1_in_rule__Rules__Group_1__03231);
+ rule__Rules__Group_1__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Rules__Group_1__0"
+
+
+ // $ANTLR start "rule__Rules__Group_1__0__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1540:1: rule__Rules__Group_1__0__Impl : ( ',' ) ;
+ public final void rule__Rules__Group_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1544:1: ( ( ',' ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1545:1: ( ',' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1545:1: ( ',' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1546:1: ','
+ {
+ before(grammarAccess.getRulesAccess().getCommaKeyword_1_0());
+ match(input,14,FOLLOW_14_in_rule__Rules__Group_1__0__Impl3259);
+ after(grammarAccess.getRulesAccess().getCommaKeyword_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Rules__Group_1__0__Impl"
+
+
+ // $ANTLR start "rule__Rules__Group_1__1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1559:1: rule__Rules__Group_1__1 : rule__Rules__Group_1__1__Impl ;
+ public final void rule__Rules__Group_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1563:1: ( rule__Rules__Group_1__1__Impl )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1564:2: rule__Rules__Group_1__1__Impl
+ {
+ pushFollow(FOLLOW_rule__Rules__Group_1__1__Impl_in_rule__Rules__Group_1__13290);
+ rule__Rules__Group_1__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Rules__Group_1__1"
+
+
+ // $ANTLR start "rule__Rules__Group_1__1__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1570:1: rule__Rules__Group_1__1__Impl : ( ( rule__Rules__SelectorsAssignment_1_1 ) ) ;
+ public final void rule__Rules__Group_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1574:1: ( ( ( rule__Rules__SelectorsAssignment_1_1 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1575:1: ( ( rule__Rules__SelectorsAssignment_1_1 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1575:1: ( ( rule__Rules__SelectorsAssignment_1_1 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1576:1: ( rule__Rules__SelectorsAssignment_1_1 )
+ {
+ before(grammarAccess.getRulesAccess().getSelectorsAssignment_1_1());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1577:1: ( rule__Rules__SelectorsAssignment_1_1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1577:2: rule__Rules__SelectorsAssignment_1_1
+ {
+ pushFollow(FOLLOW_rule__Rules__SelectorsAssignment_1_1_in_rule__Rules__Group_1__1__Impl3317);
+ rule__Rules__SelectorsAssignment_1_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getRulesAccess().getSelectorsAssignment_1_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Rules__Group_1__1__Impl"
+
+
+ // $ANTLR start "rule__Rules__Group_4__0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1591:1: rule__Rules__Group_4__0 : rule__Rules__Group_4__0__Impl rule__Rules__Group_4__1 ;
+ public final void rule__Rules__Group_4__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1595:1: ( rule__Rules__Group_4__0__Impl rule__Rules__Group_4__1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1596:2: rule__Rules__Group_4__0__Impl rule__Rules__Group_4__1
+ {
+ pushFollow(FOLLOW_rule__Rules__Group_4__0__Impl_in_rule__Rules__Group_4__03351);
+ rule__Rules__Group_4__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Rules__Group_4__1_in_rule__Rules__Group_4__03354);
+ rule__Rules__Group_4__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Rules__Group_4__0"
+
+
+ // $ANTLR start "rule__Rules__Group_4__0__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1603:1: rule__Rules__Group_4__0__Impl : ( ';' ) ;
+ public final void rule__Rules__Group_4__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1607:1: ( ( ';' ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1608:1: ( ';' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1608:1: ( ';' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1609:1: ';'
+ {
+ before(grammarAccess.getRulesAccess().getSemicolonKeyword_4_0());
+ match(input,36,FOLLOW_36_in_rule__Rules__Group_4__0__Impl3382);
+ after(grammarAccess.getRulesAccess().getSemicolonKeyword_4_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Rules__Group_4__0__Impl"
+
+
+ // $ANTLR start "rule__Rules__Group_4__1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1622:1: rule__Rules__Group_4__1 : rule__Rules__Group_4__1__Impl ;
+ public final void rule__Rules__Group_4__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1626:1: ( rule__Rules__Group_4__1__Impl )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1627:2: rule__Rules__Group_4__1__Impl
+ {
+ pushFollow(FOLLOW_rule__Rules__Group_4__1__Impl_in_rule__Rules__Group_4__13413);
+ rule__Rules__Group_4__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Rules__Group_4__1"
+
+
+ // $ANTLR start "rule__Rules__Group_4__1__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1633:1: rule__Rules__Group_4__1__Impl : ( ( rule__Rules__DeclarationsAssignment_4_1 )? ) ;
+ public final void rule__Rules__Group_4__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1637:1: ( ( ( rule__Rules__DeclarationsAssignment_4_1 )? ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1638:1: ( ( rule__Rules__DeclarationsAssignment_4_1 )? )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1638:1: ( ( rule__Rules__DeclarationsAssignment_4_1 )? )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1639:1: ( rule__Rules__DeclarationsAssignment_4_1 )?
+ {
+ before(grammarAccess.getRulesAccess().getDeclarationsAssignment_4_1());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1640:1: ( rule__Rules__DeclarationsAssignment_4_1 )?
+ int alt25=2;
+ int LA25_0 = input.LA(1);
+
+ if ( (LA25_0==RULE_IDENT) ) {
+ alt25=1;
+ }
+ switch (alt25) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1640:2: rule__Rules__DeclarationsAssignment_4_1
+ {
+ pushFollow(FOLLOW_rule__Rules__DeclarationsAssignment_4_1_in_rule__Rules__Group_4__1__Impl3440);
+ rule__Rules__DeclarationsAssignment_4_1();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ }
+
+ after(grammarAccess.getRulesAccess().getDeclarationsAssignment_4_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Rules__Group_4__1__Impl"
+
+
+ // $ANTLR start "rule__Css_import__Group__0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1654:1: rule__Css_import__Group__0 : rule__Css_import__Group__0__Impl rule__Css_import__Group__1 ;
+ public final void rule__Css_import__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1658:1: ( rule__Css_import__Group__0__Impl rule__Css_import__Group__1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1659:2: rule__Css_import__Group__0__Impl rule__Css_import__Group__1
+ {
+ pushFollow(FOLLOW_rule__Css_import__Group__0__Impl_in_rule__Css_import__Group__03475);
+ rule__Css_import__Group__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Css_import__Group__1_in_rule__Css_import__Group__03478);
+ rule__Css_import__Group__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Css_import__Group__0"
+
+
+ // $ANTLR start "rule__Css_import__Group__0__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1666:1: rule__Css_import__Group__0__Impl : ( '@import' ) ;
+ public final void rule__Css_import__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1670:1: ( ( '@import' ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1671:1: ( '@import' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1671:1: ( '@import' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1672:1: '@import'
+ {
+ before(grammarAccess.getCss_importAccess().getImportKeyword_0());
+ match(input,37,FOLLOW_37_in_rule__Css_import__Group__0__Impl3506);
+ after(grammarAccess.getCss_importAccess().getImportKeyword_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Css_import__Group__0__Impl"
+
+
+ // $ANTLR start "rule__Css_import__Group__1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1685:1: rule__Css_import__Group__1 : rule__Css_import__Group__1__Impl rule__Css_import__Group__2 ;
+ public final void rule__Css_import__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1689:1: ( rule__Css_import__Group__1__Impl rule__Css_import__Group__2 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1690:2: rule__Css_import__Group__1__Impl rule__Css_import__Group__2
+ {
+ pushFollow(FOLLOW_rule__Css_import__Group__1__Impl_in_rule__Css_import__Group__13537);
+ rule__Css_import__Group__1__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Css_import__Group__2_in_rule__Css_import__Group__13540);
+ rule__Css_import__Group__2();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Css_import__Group__1"
+
+
+ // $ANTLR start "rule__Css_import__Group__1__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1697:1: rule__Css_import__Group__1__Impl : ( ( rule__Css_import__Alternatives_1 ) ) ;
+ public final void rule__Css_import__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1701:1: ( ( ( rule__Css_import__Alternatives_1 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1702:1: ( ( rule__Css_import__Alternatives_1 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1702:1: ( ( rule__Css_import__Alternatives_1 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1703:1: ( rule__Css_import__Alternatives_1 )
+ {
+ before(grammarAccess.getCss_importAccess().getAlternatives_1());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1704:1: ( rule__Css_import__Alternatives_1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1704:2: rule__Css_import__Alternatives_1
+ {
+ pushFollow(FOLLOW_rule__Css_import__Alternatives_1_in_rule__Css_import__Group__1__Impl3567);
+ rule__Css_import__Alternatives_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getCss_importAccess().getAlternatives_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Css_import__Group__1__Impl"
+
+
+ // $ANTLR start "rule__Css_import__Group__2"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1714:1: rule__Css_import__Group__2 : rule__Css_import__Group__2__Impl ;
+ public final void rule__Css_import__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1718:1: ( rule__Css_import__Group__2__Impl )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1719:2: rule__Css_import__Group__2__Impl
+ {
+ pushFollow(FOLLOW_rule__Css_import__Group__2__Impl_in_rule__Css_import__Group__23597);
+ rule__Css_import__Group__2__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Css_import__Group__2"
+
+
+ // $ANTLR start "rule__Css_import__Group__2__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1725:1: rule__Css_import__Group__2__Impl : ( ';' ) ;
+ public final void rule__Css_import__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1729:1: ( ( ';' ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1730:1: ( ';' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1730:1: ( ';' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1731:1: ';'
+ {
+ before(grammarAccess.getCss_importAccess().getSemicolonKeyword_2());
+ match(input,36,FOLLOW_36_in_rule__Css_import__Group__2__Impl3625);
+ after(grammarAccess.getCss_importAccess().getSemicolonKeyword_2());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Css_import__Group__2__Impl"
+
+
+ // $ANTLR start "rule__Selector__Group__0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1750:1: rule__Selector__Group__0 : rule__Selector__Group__0__Impl rule__Selector__Group__1 ;
+ public final void rule__Selector__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1754:1: ( rule__Selector__Group__0__Impl rule__Selector__Group__1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1755:2: rule__Selector__Group__0__Impl rule__Selector__Group__1
+ {
+ pushFollow(FOLLOW_rule__Selector__Group__0__Impl_in_rule__Selector__Group__03662);
+ rule__Selector__Group__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Selector__Group__1_in_rule__Selector__Group__03665);
+ rule__Selector__Group__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Selector__Group__0"
+
+
+ // $ANTLR start "rule__Selector__Group__0__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1762:1: rule__Selector__Group__0__Impl : ( ( rule__Selector__SimpleselectorsAssignment_0 ) ) ;
+ public final void rule__Selector__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1766:1: ( ( ( rule__Selector__SimpleselectorsAssignment_0 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1767:1: ( ( rule__Selector__SimpleselectorsAssignment_0 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1767:1: ( ( rule__Selector__SimpleselectorsAssignment_0 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1768:1: ( rule__Selector__SimpleselectorsAssignment_0 )
+ {
+ before(grammarAccess.getSelectorAccess().getSimpleselectorsAssignment_0());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1769:1: ( rule__Selector__SimpleselectorsAssignment_0 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1769:2: rule__Selector__SimpleselectorsAssignment_0
+ {
+ pushFollow(FOLLOW_rule__Selector__SimpleselectorsAssignment_0_in_rule__Selector__Group__0__Impl3692);
+ rule__Selector__SimpleselectorsAssignment_0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getSelectorAccess().getSimpleselectorsAssignment_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Selector__Group__0__Impl"
+
+
+ // $ANTLR start "rule__Selector__Group__1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1779:1: rule__Selector__Group__1 : rule__Selector__Group__1__Impl ;
+ public final void rule__Selector__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1783:1: ( rule__Selector__Group__1__Impl )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1784:2: rule__Selector__Group__1__Impl
+ {
+ pushFollow(FOLLOW_rule__Selector__Group__1__Impl_in_rule__Selector__Group__13722);
+ rule__Selector__Group__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Selector__Group__1"
+
+
+ // $ANTLR start "rule__Selector__Group__1__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1790:1: rule__Selector__Group__1__Impl : ( ( rule__Selector__Alternatives_1 )? ) ;
+ public final void rule__Selector__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1794:1: ( ( ( rule__Selector__Alternatives_1 )? ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1795:1: ( ( rule__Selector__Alternatives_1 )? )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1795:1: ( ( rule__Selector__Alternatives_1 )? )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1796:1: ( rule__Selector__Alternatives_1 )?
+ {
+ before(grammarAccess.getSelectorAccess().getAlternatives_1());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1797:1: ( rule__Selector__Alternatives_1 )?
+ int alt26=2;
+ int LA26_0 = input.LA(1);
+
+ if ( (LA26_0==RULE_WS||(LA26_0>=31 && LA26_0<=32)) ) {
+ alt26=1;
+ }
+ switch (alt26) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1797:2: rule__Selector__Alternatives_1
+ {
+ pushFollow(FOLLOW_rule__Selector__Alternatives_1_in_rule__Selector__Group__1__Impl3749);
+ rule__Selector__Alternatives_1();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ }
+
+ after(grammarAccess.getSelectorAccess().getAlternatives_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Selector__Group__1__Impl"
+
+
+ // $ANTLR start "rule__Selector__Group_1_0__0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1811:1: rule__Selector__Group_1_0__0 : rule__Selector__Group_1_0__0__Impl rule__Selector__Group_1_0__1 ;
+ public final void rule__Selector__Group_1_0__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1815:1: ( rule__Selector__Group_1_0__0__Impl rule__Selector__Group_1_0__1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1816:2: rule__Selector__Group_1_0__0__Impl rule__Selector__Group_1_0__1
+ {
+ pushFollow(FOLLOW_rule__Selector__Group_1_0__0__Impl_in_rule__Selector__Group_1_0__03784);
+ rule__Selector__Group_1_0__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Selector__Group_1_0__1_in_rule__Selector__Group_1_0__03787);
+ rule__Selector__Group_1_0__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Selector__Group_1_0__0"
+
+
+ // $ANTLR start "rule__Selector__Group_1_0__0__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1823:1: rule__Selector__Group_1_0__0__Impl : ( ( rule__Selector__CombinatorAssignment_1_0_0 ) ) ;
+ public final void rule__Selector__Group_1_0__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1827:1: ( ( ( rule__Selector__CombinatorAssignment_1_0_0 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1828:1: ( ( rule__Selector__CombinatorAssignment_1_0_0 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1828:1: ( ( rule__Selector__CombinatorAssignment_1_0_0 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1829:1: ( rule__Selector__CombinatorAssignment_1_0_0 )
+ {
+ before(grammarAccess.getSelectorAccess().getCombinatorAssignment_1_0_0());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1830:1: ( rule__Selector__CombinatorAssignment_1_0_0 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1830:2: rule__Selector__CombinatorAssignment_1_0_0
+ {
+ pushFollow(FOLLOW_rule__Selector__CombinatorAssignment_1_0_0_in_rule__Selector__Group_1_0__0__Impl3814);
+ rule__Selector__CombinatorAssignment_1_0_0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getSelectorAccess().getCombinatorAssignment_1_0_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Selector__Group_1_0__0__Impl"
+
+
+ // $ANTLR start "rule__Selector__Group_1_0__1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1840:1: rule__Selector__Group_1_0__1 : rule__Selector__Group_1_0__1__Impl ;
+ public final void rule__Selector__Group_1_0__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1844:1: ( rule__Selector__Group_1_0__1__Impl )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1845:2: rule__Selector__Group_1_0__1__Impl
+ {
+ pushFollow(FOLLOW_rule__Selector__Group_1_0__1__Impl_in_rule__Selector__Group_1_0__13844);
+ rule__Selector__Group_1_0__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Selector__Group_1_0__1"
+
+
+ // $ANTLR start "rule__Selector__Group_1_0__1__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1851:1: rule__Selector__Group_1_0__1__Impl : ( ( rule__Selector__SelectorAssignment_1_0_1 ) ) ;
+ public final void rule__Selector__Group_1_0__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1855:1: ( ( ( rule__Selector__SelectorAssignment_1_0_1 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1856:1: ( ( rule__Selector__SelectorAssignment_1_0_1 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1856:1: ( ( rule__Selector__SelectorAssignment_1_0_1 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1857:1: ( rule__Selector__SelectorAssignment_1_0_1 )
+ {
+ before(grammarAccess.getSelectorAccess().getSelectorAssignment_1_0_1());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1858:1: ( rule__Selector__SelectorAssignment_1_0_1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1858:2: rule__Selector__SelectorAssignment_1_0_1
+ {
+ pushFollow(FOLLOW_rule__Selector__SelectorAssignment_1_0_1_in_rule__Selector__Group_1_0__1__Impl3871);
+ rule__Selector__SelectorAssignment_1_0_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getSelectorAccess().getSelectorAssignment_1_0_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Selector__Group_1_0__1__Impl"
+
+
+ // $ANTLR start "rule__Selector__Group_1_1__0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1872:1: rule__Selector__Group_1_1__0 : rule__Selector__Group_1_1__0__Impl rule__Selector__Group_1_1__1 ;
+ public final void rule__Selector__Group_1_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1876:1: ( rule__Selector__Group_1_1__0__Impl rule__Selector__Group_1_1__1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1877:2: rule__Selector__Group_1_1__0__Impl rule__Selector__Group_1_1__1
+ {
+ pushFollow(FOLLOW_rule__Selector__Group_1_1__0__Impl_in_rule__Selector__Group_1_1__03905);
+ rule__Selector__Group_1_1__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Selector__Group_1_1__1_in_rule__Selector__Group_1_1__03908);
+ rule__Selector__Group_1_1__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Selector__Group_1_1__0"
+
+
+ // $ANTLR start "rule__Selector__Group_1_1__0__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1884:1: rule__Selector__Group_1_1__0__Impl : ( ( ( RULE_WS ) ) ( ( RULE_WS )* ) ) ;
+ public final void rule__Selector__Group_1_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1888:1: ( ( ( ( RULE_WS ) ) ( ( RULE_WS )* ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1889:1: ( ( ( RULE_WS ) ) ( ( RULE_WS )* ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1889:1: ( ( ( RULE_WS ) ) ( ( RULE_WS )* ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1890:1: ( ( RULE_WS ) ) ( ( RULE_WS )* )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1890:1: ( ( RULE_WS ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1891:1: ( RULE_WS )
+ {
+ before(grammarAccess.getSelectorAccess().getWSTerminalRuleCall_1_1_0());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1892:1: ( RULE_WS )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1892:3: RULE_WS
+ {
+ match(input,RULE_WS,FOLLOW_RULE_WS_in_rule__Selector__Group_1_1__0__Impl3938);
+
+ }
+
+ after(grammarAccess.getSelectorAccess().getWSTerminalRuleCall_1_1_0());
+
+ }
+
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1895:1: ( ( RULE_WS )* )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1896:1: ( RULE_WS )*
+ {
+ before(grammarAccess.getSelectorAccess().getWSTerminalRuleCall_1_1_0());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1897:1: ( RULE_WS )*
+ loop27:
+ do {
+ int alt27=2;
+ int LA27_0 = input.LA(1);
+
+ if ( (LA27_0==RULE_WS) ) {
+ alt27=1;
+ }
+
+
+ switch (alt27) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1897:3: RULE_WS
+ {
+ match(input,RULE_WS,FOLLOW_RULE_WS_in_rule__Selector__Group_1_1__0__Impl3951);
+
+ }
+ break;
+
+ default :
+ break loop27;
+ }
+ } while (true);
+
+ after(grammarAccess.getSelectorAccess().getWSTerminalRuleCall_1_1_0());
+
+ }
+
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Selector__Group_1_1__0__Impl"
+
+
+ // $ANTLR start "rule__Selector__Group_1_1__1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1908:1: rule__Selector__Group_1_1__1 : rule__Selector__Group_1_1__1__Impl ;
+ public final void rule__Selector__Group_1_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1912:1: ( rule__Selector__Group_1_1__1__Impl )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1913:2: rule__Selector__Group_1_1__1__Impl
+ {
+ pushFollow(FOLLOW_rule__Selector__Group_1_1__1__Impl_in_rule__Selector__Group_1_1__13984);
+ rule__Selector__Group_1_1__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Selector__Group_1_1__1"
+
+
+ // $ANTLR start "rule__Selector__Group_1_1__1__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1919:1: rule__Selector__Group_1_1__1__Impl : ( ( rule__Selector__Group_1_1_1__0 )? ) ;
+ public final void rule__Selector__Group_1_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1923:1: ( ( ( rule__Selector__Group_1_1_1__0 )? ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1924:1: ( ( rule__Selector__Group_1_1_1__0 )? )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1924:1: ( ( rule__Selector__Group_1_1_1__0 )? )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1925:1: ( rule__Selector__Group_1_1_1__0 )?
+ {
+ before(grammarAccess.getSelectorAccess().getGroup_1_1_1());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1926:1: ( rule__Selector__Group_1_1_1__0 )?
+ int alt28=2;
+ int LA28_0 = input.LA(1);
+
+ if ( (LA28_0==RULE_IDENT||(LA28_0>=29 && LA28_0<=32)||LA28_0==45) ) {
+ alt28=1;
+ }
+ switch (alt28) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1926:2: rule__Selector__Group_1_1_1__0
+ {
+ pushFollow(FOLLOW_rule__Selector__Group_1_1_1__0_in_rule__Selector__Group_1_1__1__Impl4011);
+ rule__Selector__Group_1_1_1__0();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ }
+
+ after(grammarAccess.getSelectorAccess().getGroup_1_1_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Selector__Group_1_1__1__Impl"
+
+
+ // $ANTLR start "rule__Selector__Group_1_1_1__0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1940:1: rule__Selector__Group_1_1_1__0 : rule__Selector__Group_1_1_1__0__Impl rule__Selector__Group_1_1_1__1 ;
+ public final void rule__Selector__Group_1_1_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1944:1: ( rule__Selector__Group_1_1_1__0__Impl rule__Selector__Group_1_1_1__1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1945:2: rule__Selector__Group_1_1_1__0__Impl rule__Selector__Group_1_1_1__1
+ {
+ pushFollow(FOLLOW_rule__Selector__Group_1_1_1__0__Impl_in_rule__Selector__Group_1_1_1__04046);
+ rule__Selector__Group_1_1_1__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Selector__Group_1_1_1__1_in_rule__Selector__Group_1_1_1__04049);
+ rule__Selector__Group_1_1_1__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Selector__Group_1_1_1__0"
+
+
+ // $ANTLR start "rule__Selector__Group_1_1_1__0__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1952:1: rule__Selector__Group_1_1_1__0__Impl : ( ( rule__Selector__CombinatorAssignment_1_1_1_0 )? ) ;
+ public final void rule__Selector__Group_1_1_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1956:1: ( ( ( rule__Selector__CombinatorAssignment_1_1_1_0 )? ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1957:1: ( ( rule__Selector__CombinatorAssignment_1_1_1_0 )? )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1957:1: ( ( rule__Selector__CombinatorAssignment_1_1_1_0 )? )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1958:1: ( rule__Selector__CombinatorAssignment_1_1_1_0 )?
+ {
+ before(grammarAccess.getSelectorAccess().getCombinatorAssignment_1_1_1_0());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1959:1: ( rule__Selector__CombinatorAssignment_1_1_1_0 )?
+ int alt29=2;
+ int LA29_0 = input.LA(1);
+
+ if ( ((LA29_0>=31 && LA29_0<=32)) ) {
+ alt29=1;
+ }
+ switch (alt29) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1959:2: rule__Selector__CombinatorAssignment_1_1_1_0
+ {
+ pushFollow(FOLLOW_rule__Selector__CombinatorAssignment_1_1_1_0_in_rule__Selector__Group_1_1_1__0__Impl4076);
+ rule__Selector__CombinatorAssignment_1_1_1_0();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ }
+
+ after(grammarAccess.getSelectorAccess().getCombinatorAssignment_1_1_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Selector__Group_1_1_1__0__Impl"
+
+
+ // $ANTLR start "rule__Selector__Group_1_1_1__1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1969:1: rule__Selector__Group_1_1_1__1 : rule__Selector__Group_1_1_1__1__Impl ;
+ public final void rule__Selector__Group_1_1_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1973:1: ( rule__Selector__Group_1_1_1__1__Impl )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1974:2: rule__Selector__Group_1_1_1__1__Impl
+ {
+ pushFollow(FOLLOW_rule__Selector__Group_1_1_1__1__Impl_in_rule__Selector__Group_1_1_1__14107);
+ rule__Selector__Group_1_1_1__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Selector__Group_1_1_1__1"
+
+
+ // $ANTLR start "rule__Selector__Group_1_1_1__1__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1980:1: rule__Selector__Group_1_1_1__1__Impl : ( ( rule__Selector__SelectorAssignment_1_1_1_1 ) ) ;
+ public final void rule__Selector__Group_1_1_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1984:1: ( ( ( rule__Selector__SelectorAssignment_1_1_1_1 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1985:1: ( ( rule__Selector__SelectorAssignment_1_1_1_1 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1985:1: ( ( rule__Selector__SelectorAssignment_1_1_1_1 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1986:1: ( rule__Selector__SelectorAssignment_1_1_1_1 )
+ {
+ before(grammarAccess.getSelectorAccess().getSelectorAssignment_1_1_1_1());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1987:1: ( rule__Selector__SelectorAssignment_1_1_1_1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:1987:2: rule__Selector__SelectorAssignment_1_1_1_1
+ {
+ pushFollow(FOLLOW_rule__Selector__SelectorAssignment_1_1_1_1_in_rule__Selector__Group_1_1_1__1__Impl4134);
+ rule__Selector__SelectorAssignment_1_1_1_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getSelectorAccess().getSelectorAssignment_1_1_1_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Selector__Group_1_1_1__1__Impl"
+
+
+ // $ANTLR start "rule__Simple_selector__Group_0__0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2001:1: rule__Simple_selector__Group_0__0 : rule__Simple_selector__Group_0__0__Impl rule__Simple_selector__Group_0__1 ;
+ public final void rule__Simple_selector__Group_0__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2005:1: ( rule__Simple_selector__Group_0__0__Impl rule__Simple_selector__Group_0__1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2006:2: rule__Simple_selector__Group_0__0__Impl rule__Simple_selector__Group_0__1
+ {
+ pushFollow(FOLLOW_rule__Simple_selector__Group_0__0__Impl_in_rule__Simple_selector__Group_0__04168);
+ rule__Simple_selector__Group_0__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Simple_selector__Group_0__1_in_rule__Simple_selector__Group_0__04171);
+ rule__Simple_selector__Group_0__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Simple_selector__Group_0__0"
+
+
+ // $ANTLR start "rule__Simple_selector__Group_0__0__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2013:1: rule__Simple_selector__Group_0__0__Impl : ( ( rule__Simple_selector__ElementAssignment_0_0 ) ) ;
+ public final void rule__Simple_selector__Group_0__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2017:1: ( ( ( rule__Simple_selector__ElementAssignment_0_0 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2018:1: ( ( rule__Simple_selector__ElementAssignment_0_0 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2018:1: ( ( rule__Simple_selector__ElementAssignment_0_0 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2019:1: ( rule__Simple_selector__ElementAssignment_0_0 )
+ {
+ before(grammarAccess.getSimple_selectorAccess().getElementAssignment_0_0());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2020:1: ( rule__Simple_selector__ElementAssignment_0_0 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2020:2: rule__Simple_selector__ElementAssignment_0_0
+ {
+ pushFollow(FOLLOW_rule__Simple_selector__ElementAssignment_0_0_in_rule__Simple_selector__Group_0__0__Impl4198);
+ rule__Simple_selector__ElementAssignment_0_0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getSimple_selectorAccess().getElementAssignment_0_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Simple_selector__Group_0__0__Impl"
+
+
+ // $ANTLR start "rule__Simple_selector__Group_0__1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2030:1: rule__Simple_selector__Group_0__1 : rule__Simple_selector__Group_0__1__Impl rule__Simple_selector__Group_0__2 ;
+ public final void rule__Simple_selector__Group_0__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2034:1: ( rule__Simple_selector__Group_0__1__Impl rule__Simple_selector__Group_0__2 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2035:2: rule__Simple_selector__Group_0__1__Impl rule__Simple_selector__Group_0__2
+ {
+ pushFollow(FOLLOW_rule__Simple_selector__Group_0__1__Impl_in_rule__Simple_selector__Group_0__14228);
+ rule__Simple_selector__Group_0__1__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Simple_selector__Group_0__2_in_rule__Simple_selector__Group_0__14231);
+ rule__Simple_selector__Group_0__2();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Simple_selector__Group_0__1"
+
+
+ // $ANTLR start "rule__Simple_selector__Group_0__1__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2042:1: rule__Simple_selector__Group_0__1__Impl : ( ( rule__Simple_selector__IdAssignment_0_1 )* ) ;
+ public final void rule__Simple_selector__Group_0__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2046:1: ( ( ( rule__Simple_selector__IdAssignment_0_1 )* ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2047:1: ( ( rule__Simple_selector__IdAssignment_0_1 )* )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2047:1: ( ( rule__Simple_selector__IdAssignment_0_1 )* )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2048:1: ( rule__Simple_selector__IdAssignment_0_1 )*
+ {
+ before(grammarAccess.getSimple_selectorAccess().getIdAssignment_0_1());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2049:1: ( rule__Simple_selector__IdAssignment_0_1 )*
+ loop30:
+ do {
+ int alt30=2;
+ int LA30_0 = input.LA(1);
+
+ if ( ((LA30_0>=29 && LA30_0<=30)) ) {
+ alt30=1;
+ }
+
+
+ switch (alt30) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2049:2: rule__Simple_selector__IdAssignment_0_1
+ {
+ pushFollow(FOLLOW_rule__Simple_selector__IdAssignment_0_1_in_rule__Simple_selector__Group_0__1__Impl4258);
+ rule__Simple_selector__IdAssignment_0_1();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ default :
+ break loop30;
+ }
+ } while (true);
+
+ after(grammarAccess.getSimple_selectorAccess().getIdAssignment_0_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Simple_selector__Group_0__1__Impl"
+
+
+ // $ANTLR start "rule__Simple_selector__Group_0__2"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2059:1: rule__Simple_selector__Group_0__2 : rule__Simple_selector__Group_0__2__Impl ;
+ public final void rule__Simple_selector__Group_0__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2063:1: ( rule__Simple_selector__Group_0__2__Impl )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2064:2: rule__Simple_selector__Group_0__2__Impl
+ {
+ pushFollow(FOLLOW_rule__Simple_selector__Group_0__2__Impl_in_rule__Simple_selector__Group_0__24289);
+ rule__Simple_selector__Group_0__2__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Simple_selector__Group_0__2"
+
+
+ // $ANTLR start "rule__Simple_selector__Group_0__2__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2070:1: rule__Simple_selector__Group_0__2__Impl : ( ( rule__Simple_selector__PseudoAssignment_0_2 )* ) ;
+ public final void rule__Simple_selector__Group_0__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2074:1: ( ( ( rule__Simple_selector__PseudoAssignment_0_2 )* ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2075:1: ( ( rule__Simple_selector__PseudoAssignment_0_2 )* )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2075:1: ( ( rule__Simple_selector__PseudoAssignment_0_2 )* )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2076:1: ( rule__Simple_selector__PseudoAssignment_0_2 )*
+ {
+ before(grammarAccess.getSimple_selectorAccess().getPseudoAssignment_0_2());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2077:1: ( rule__Simple_selector__PseudoAssignment_0_2 )*
+ loop31:
+ do {
+ int alt31=2;
+ int LA31_0 = input.LA(1);
+
+ if ( (LA31_0==RULE_IDENT||LA31_0==38) ) {
+ alt31=1;
+ }
+
+
+ switch (alt31) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2077:2: rule__Simple_selector__PseudoAssignment_0_2
+ {
+ pushFollow(FOLLOW_rule__Simple_selector__PseudoAssignment_0_2_in_rule__Simple_selector__Group_0__2__Impl4316);
+ rule__Simple_selector__PseudoAssignment_0_2();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ default :
+ break loop31;
+ }
+ } while (true);
+
+ after(grammarAccess.getSimple_selectorAccess().getPseudoAssignment_0_2());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Simple_selector__Group_0__2__Impl"
+
+
+ // $ANTLR start "rule__Pseudo__Group_0__0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2093:1: rule__Pseudo__Group_0__0 : rule__Pseudo__Group_0__0__Impl rule__Pseudo__Group_0__1 ;
+ public final void rule__Pseudo__Group_0__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2097:1: ( rule__Pseudo__Group_0__0__Impl rule__Pseudo__Group_0__1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2098:2: rule__Pseudo__Group_0__0__Impl rule__Pseudo__Group_0__1
+ {
+ pushFollow(FOLLOW_rule__Pseudo__Group_0__0__Impl_in_rule__Pseudo__Group_0__04353);
+ rule__Pseudo__Group_0__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Pseudo__Group_0__1_in_rule__Pseudo__Group_0__04356);
+ rule__Pseudo__Group_0__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Pseudo__Group_0__0"
+
+
+ // $ANTLR start "rule__Pseudo__Group_0__0__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2105:1: rule__Pseudo__Group_0__0__Impl : ( ':' ) ;
+ public final void rule__Pseudo__Group_0__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2109:1: ( ( ':' ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2110:1: ( ':' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2110:1: ( ':' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2111:1: ':'
+ {
+ before(grammarAccess.getPseudoAccess().getColonKeyword_0_0());
+ match(input,38,FOLLOW_38_in_rule__Pseudo__Group_0__0__Impl4384);
+ after(grammarAccess.getPseudoAccess().getColonKeyword_0_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Pseudo__Group_0__0__Impl"
+
+
+ // $ANTLR start "rule__Pseudo__Group_0__1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2124:1: rule__Pseudo__Group_0__1 : rule__Pseudo__Group_0__1__Impl ;
+ public final void rule__Pseudo__Group_0__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2128:1: ( rule__Pseudo__Group_0__1__Impl )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2129:2: rule__Pseudo__Group_0__1__Impl
+ {
+ pushFollow(FOLLOW_rule__Pseudo__Group_0__1__Impl_in_rule__Pseudo__Group_0__14415);
+ rule__Pseudo__Group_0__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Pseudo__Group_0__1"
+
+
+ // $ANTLR start "rule__Pseudo__Group_0__1__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2135:1: rule__Pseudo__Group_0__1__Impl : ( ( rule__Pseudo__NameAssignment_0_1 ) ) ;
+ public final void rule__Pseudo__Group_0__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2139:1: ( ( ( rule__Pseudo__NameAssignment_0_1 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2140:1: ( ( rule__Pseudo__NameAssignment_0_1 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2140:1: ( ( rule__Pseudo__NameAssignment_0_1 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2141:1: ( rule__Pseudo__NameAssignment_0_1 )
+ {
+ before(grammarAccess.getPseudoAccess().getNameAssignment_0_1());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2142:1: ( rule__Pseudo__NameAssignment_0_1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2142:2: rule__Pseudo__NameAssignment_0_1
+ {
+ pushFollow(FOLLOW_rule__Pseudo__NameAssignment_0_1_in_rule__Pseudo__Group_0__1__Impl4442);
+ rule__Pseudo__NameAssignment_0_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getPseudoAccess().getNameAssignment_0_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Pseudo__Group_0__1__Impl"
+
+
+ // $ANTLR start "rule__Pseudo__Group_1__0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2156:1: rule__Pseudo__Group_1__0 : rule__Pseudo__Group_1__0__Impl rule__Pseudo__Group_1__1 ;
+ public final void rule__Pseudo__Group_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2160:1: ( rule__Pseudo__Group_1__0__Impl rule__Pseudo__Group_1__1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2161:2: rule__Pseudo__Group_1__0__Impl rule__Pseudo__Group_1__1
+ {
+ pushFollow(FOLLOW_rule__Pseudo__Group_1__0__Impl_in_rule__Pseudo__Group_1__04476);
+ rule__Pseudo__Group_1__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Pseudo__Group_1__1_in_rule__Pseudo__Group_1__04479);
+ rule__Pseudo__Group_1__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Pseudo__Group_1__0"
+
+
+ // $ANTLR start "rule__Pseudo__Group_1__0__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2168:1: rule__Pseudo__Group_1__0__Impl : ( ( rule__Pseudo__FunctionAssignment_1_0 ) ) ;
+ public final void rule__Pseudo__Group_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2172:1: ( ( ( rule__Pseudo__FunctionAssignment_1_0 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2173:1: ( ( rule__Pseudo__FunctionAssignment_1_0 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2173:1: ( ( rule__Pseudo__FunctionAssignment_1_0 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2174:1: ( rule__Pseudo__FunctionAssignment_1_0 )
+ {
+ before(grammarAccess.getPseudoAccess().getFunctionAssignment_1_0());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2175:1: ( rule__Pseudo__FunctionAssignment_1_0 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2175:2: rule__Pseudo__FunctionAssignment_1_0
+ {
+ pushFollow(FOLLOW_rule__Pseudo__FunctionAssignment_1_0_in_rule__Pseudo__Group_1__0__Impl4506);
+ rule__Pseudo__FunctionAssignment_1_0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getPseudoAccess().getFunctionAssignment_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Pseudo__Group_1__0__Impl"
+
+
+ // $ANTLR start "rule__Pseudo__Group_1__1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2185:1: rule__Pseudo__Group_1__1 : rule__Pseudo__Group_1__1__Impl ;
+ public final void rule__Pseudo__Group_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2189:1: ( rule__Pseudo__Group_1__1__Impl )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2190:2: rule__Pseudo__Group_1__1__Impl
+ {
+ pushFollow(FOLLOW_rule__Pseudo__Group_1__1__Impl_in_rule__Pseudo__Group_1__14536);
+ rule__Pseudo__Group_1__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Pseudo__Group_1__1"
+
+
+ // $ANTLR start "rule__Pseudo__Group_1__1__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2196:1: rule__Pseudo__Group_1__1__Impl : ( ( rule__Pseudo__NameAssignment_1_1 )? ) ;
+ public final void rule__Pseudo__Group_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2200:1: ( ( ( rule__Pseudo__NameAssignment_1_1 )? ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2201:1: ( ( rule__Pseudo__NameAssignment_1_1 )? )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2201:1: ( ( rule__Pseudo__NameAssignment_1_1 )? )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2202:1: ( rule__Pseudo__NameAssignment_1_1 )?
+ {
+ before(grammarAccess.getPseudoAccess().getNameAssignment_1_1());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2203:1: ( rule__Pseudo__NameAssignment_1_1 )?
+ int alt32=2;
+ int LA32_0 = input.LA(1);
+
+ if ( (LA32_0==RULE_IDENT) ) {
+ int LA32_1 = input.LA(2);
+
+ if ( (LA32_1==EOF||LA32_1==RULE_WS||LA32_1==RULE_IDENT||LA32_1==14||(LA32_1>=31 && LA32_1<=32)||LA32_1==34||LA32_1==38) ) {
+ alt32=1;
+ }
+ }
+ switch (alt32) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2203:2: rule__Pseudo__NameAssignment_1_1
+ {
+ pushFollow(FOLLOW_rule__Pseudo__NameAssignment_1_1_in_rule__Pseudo__Group_1__1__Impl4563);
+ rule__Pseudo__NameAssignment_1_1();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ }
+
+ after(grammarAccess.getPseudoAccess().getNameAssignment_1_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Pseudo__Group_1__1__Impl"
+
+
+ // $ANTLR start "rule__Declaration__Group__0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2217:1: rule__Declaration__Group__0 : rule__Declaration__Group__0__Impl rule__Declaration__Group__1 ;
+ public final void rule__Declaration__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2221:1: ( rule__Declaration__Group__0__Impl rule__Declaration__Group__1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2222:2: rule__Declaration__Group__0__Impl rule__Declaration__Group__1
+ {
+ pushFollow(FOLLOW_rule__Declaration__Group__0__Impl_in_rule__Declaration__Group__04598);
+ rule__Declaration__Group__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Declaration__Group__1_in_rule__Declaration__Group__04601);
+ rule__Declaration__Group__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Declaration__Group__0"
+
+
+ // $ANTLR start "rule__Declaration__Group__0__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2229:1: rule__Declaration__Group__0__Impl : ( ( rule__Declaration__PropertyAssignment_0 ) ) ;
+ public final void rule__Declaration__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2233:1: ( ( ( rule__Declaration__PropertyAssignment_0 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2234:1: ( ( rule__Declaration__PropertyAssignment_0 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2234:1: ( ( rule__Declaration__PropertyAssignment_0 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2235:1: ( rule__Declaration__PropertyAssignment_0 )
+ {
+ before(grammarAccess.getDeclarationAccess().getPropertyAssignment_0());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2236:1: ( rule__Declaration__PropertyAssignment_0 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2236:2: rule__Declaration__PropertyAssignment_0
+ {
+ pushFollow(FOLLOW_rule__Declaration__PropertyAssignment_0_in_rule__Declaration__Group__0__Impl4628);
+ rule__Declaration__PropertyAssignment_0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getDeclarationAccess().getPropertyAssignment_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Declaration__Group__0__Impl"
+
+
+ // $ANTLR start "rule__Declaration__Group__1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2246:1: rule__Declaration__Group__1 : rule__Declaration__Group__1__Impl rule__Declaration__Group__2 ;
+ public final void rule__Declaration__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2250:1: ( rule__Declaration__Group__1__Impl rule__Declaration__Group__2 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2251:2: rule__Declaration__Group__1__Impl rule__Declaration__Group__2
+ {
+ pushFollow(FOLLOW_rule__Declaration__Group__1__Impl_in_rule__Declaration__Group__14658);
+ rule__Declaration__Group__1__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Declaration__Group__2_in_rule__Declaration__Group__14661);
+ rule__Declaration__Group__2();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Declaration__Group__1"
+
+
+ // $ANTLR start "rule__Declaration__Group__1__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2258:1: rule__Declaration__Group__1__Impl : ( ':' ) ;
+ public final void rule__Declaration__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2262:1: ( ( ':' ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2263:1: ( ':' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2263:1: ( ':' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2264:1: ':'
+ {
+ before(grammarAccess.getDeclarationAccess().getColonKeyword_1());
+ match(input,38,FOLLOW_38_in_rule__Declaration__Group__1__Impl4689);
+ after(grammarAccess.getDeclarationAccess().getColonKeyword_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Declaration__Group__1__Impl"
+
+
+ // $ANTLR start "rule__Declaration__Group__2"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2277:1: rule__Declaration__Group__2 : rule__Declaration__Group__2__Impl rule__Declaration__Group__3 ;
+ public final void rule__Declaration__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2281:1: ( rule__Declaration__Group__2__Impl rule__Declaration__Group__3 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2282:2: rule__Declaration__Group__2__Impl rule__Declaration__Group__3
+ {
+ pushFollow(FOLLOW_rule__Declaration__Group__2__Impl_in_rule__Declaration__Group__24720);
+ rule__Declaration__Group__2__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Declaration__Group__3_in_rule__Declaration__Group__24723);
+ rule__Declaration__Group__3();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Declaration__Group__2"
+
+
+ // $ANTLR start "rule__Declaration__Group__2__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2289:1: rule__Declaration__Group__2__Impl : ( ( rule__Declaration__ExprAssignment_2 ) ) ;
+ public final void rule__Declaration__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2293:1: ( ( ( rule__Declaration__ExprAssignment_2 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2294:1: ( ( rule__Declaration__ExprAssignment_2 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2294:1: ( ( rule__Declaration__ExprAssignment_2 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2295:1: ( rule__Declaration__ExprAssignment_2 )
+ {
+ before(grammarAccess.getDeclarationAccess().getExprAssignment_2());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2296:1: ( rule__Declaration__ExprAssignment_2 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2296:2: rule__Declaration__ExprAssignment_2
+ {
+ pushFollow(FOLLOW_rule__Declaration__ExprAssignment_2_in_rule__Declaration__Group__2__Impl4750);
+ rule__Declaration__ExprAssignment_2();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getDeclarationAccess().getExprAssignment_2());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Declaration__Group__2__Impl"
+
+
+ // $ANTLR start "rule__Declaration__Group__3"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2306:1: rule__Declaration__Group__3 : rule__Declaration__Group__3__Impl ;
+ public final void rule__Declaration__Group__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2310:1: ( rule__Declaration__Group__3__Impl )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2311:2: rule__Declaration__Group__3__Impl
+ {
+ pushFollow(FOLLOW_rule__Declaration__Group__3__Impl_in_rule__Declaration__Group__34780);
+ rule__Declaration__Group__3__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Declaration__Group__3"
+
+
+ // $ANTLR start "rule__Declaration__Group__3__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2317:1: rule__Declaration__Group__3__Impl : ( ( rule__Declaration__PriorityAssignment_3 )? ) ;
+ public final void rule__Declaration__Group__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2321:1: ( ( ( rule__Declaration__PriorityAssignment_3 )? ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2322:1: ( ( rule__Declaration__PriorityAssignment_3 )? )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2322:1: ( ( rule__Declaration__PriorityAssignment_3 )? )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2323:1: ( rule__Declaration__PriorityAssignment_3 )?
+ {
+ before(grammarAccess.getDeclarationAccess().getPriorityAssignment_3());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2324:1: ( rule__Declaration__PriorityAssignment_3 )?
+ int alt33=2;
+ int LA33_0 = input.LA(1);
+
+ if ( (LA33_0==46) ) {
+ alt33=1;
+ }
+ switch (alt33) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2324:2: rule__Declaration__PriorityAssignment_3
+ {
+ pushFollow(FOLLOW_rule__Declaration__PriorityAssignment_3_in_rule__Declaration__Group__3__Impl4807);
+ rule__Declaration__PriorityAssignment_3();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ }
+
+ after(grammarAccess.getDeclarationAccess().getPriorityAssignment_3());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Declaration__Group__3__Impl"
+
+
+ // $ANTLR start "rule__Expr__Group__0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2342:1: rule__Expr__Group__0 : rule__Expr__Group__0__Impl rule__Expr__Group__1 ;
+ public final void rule__Expr__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2346:1: ( rule__Expr__Group__0__Impl rule__Expr__Group__1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2347:2: rule__Expr__Group__0__Impl rule__Expr__Group__1
+ {
+ pushFollow(FOLLOW_rule__Expr__Group__0__Impl_in_rule__Expr__Group__04846);
+ rule__Expr__Group__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Expr__Group__1_in_rule__Expr__Group__04849);
+ rule__Expr__Group__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Expr__Group__0"
+
+
+ // $ANTLR start "rule__Expr__Group__0__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2354:1: rule__Expr__Group__0__Impl : ( ( rule__Expr__TermAssignment_0 ) ) ;
+ public final void rule__Expr__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2358:1: ( ( ( rule__Expr__TermAssignment_0 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2359:1: ( ( rule__Expr__TermAssignment_0 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2359:1: ( ( rule__Expr__TermAssignment_0 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2360:1: ( rule__Expr__TermAssignment_0 )
+ {
+ before(grammarAccess.getExprAccess().getTermAssignment_0());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2361:1: ( rule__Expr__TermAssignment_0 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2361:2: rule__Expr__TermAssignment_0
+ {
+ pushFollow(FOLLOW_rule__Expr__TermAssignment_0_in_rule__Expr__Group__0__Impl4876);
+ rule__Expr__TermAssignment_0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getExprAccess().getTermAssignment_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Expr__Group__0__Impl"
+
+
+ // $ANTLR start "rule__Expr__Group__1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2371:1: rule__Expr__Group__1 : rule__Expr__Group__1__Impl ;
+ public final void rule__Expr__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2375:1: ( rule__Expr__Group__1__Impl )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2376:2: rule__Expr__Group__1__Impl
+ {
+ pushFollow(FOLLOW_rule__Expr__Group__1__Impl_in_rule__Expr__Group__14906);
+ rule__Expr__Group__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Expr__Group__1"
+
+
+ // $ANTLR start "rule__Expr__Group__1__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2382:1: rule__Expr__Group__1__Impl : ( ( rule__Expr__Group_1__0 )* ) ;
+ public final void rule__Expr__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2386:1: ( ( ( rule__Expr__Group_1__0 )* ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2387:1: ( ( rule__Expr__Group_1__0 )* )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2387:1: ( ( rule__Expr__Group_1__0 )* )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2388:1: ( rule__Expr__Group_1__0 )*
+ {
+ before(grammarAccess.getExprAccess().getGroup_1());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2389:1: ( rule__Expr__Group_1__0 )*
+ loop34:
+ do {
+ int alt34=2;
+ int LA34_0 = input.LA(1);
+
+ if ( (LA34_0==RULE_INT||(LA34_0>=RULE_STRING && LA34_0<=RULE_HEXDIGITS)||(LA34_0>=13 && LA34_0<=14)||LA34_0==31||LA34_0==33||LA34_0==41) ) {
+ alt34=1;
+ }
+
+
+ switch (alt34) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2389:2: rule__Expr__Group_1__0
+ {
+ pushFollow(FOLLOW_rule__Expr__Group_1__0_in_rule__Expr__Group__1__Impl4933);
+ rule__Expr__Group_1__0();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ default :
+ break loop34;
+ }
+ } while (true);
+
+ after(grammarAccess.getExprAccess().getGroup_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Expr__Group__1__Impl"
+
+
+ // $ANTLR start "rule__Expr__Group_1__0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2403:1: rule__Expr__Group_1__0 : rule__Expr__Group_1__0__Impl rule__Expr__Group_1__1 ;
+ public final void rule__Expr__Group_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2407:1: ( rule__Expr__Group_1__0__Impl rule__Expr__Group_1__1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2408:2: rule__Expr__Group_1__0__Impl rule__Expr__Group_1__1
+ {
+ pushFollow(FOLLOW_rule__Expr__Group_1__0__Impl_in_rule__Expr__Group_1__04968);
+ rule__Expr__Group_1__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Expr__Group_1__1_in_rule__Expr__Group_1__04971);
+ rule__Expr__Group_1__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Expr__Group_1__0"
+
+
+ // $ANTLR start "rule__Expr__Group_1__0__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2415:1: rule__Expr__Group_1__0__Impl : ( ( rule__Expr__OperatorsAssignment_1_0 )? ) ;
+ public final void rule__Expr__Group_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2419:1: ( ( ( rule__Expr__OperatorsAssignment_1_0 )? ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2420:1: ( ( rule__Expr__OperatorsAssignment_1_0 )? )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2420:1: ( ( rule__Expr__OperatorsAssignment_1_0 )? )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2421:1: ( rule__Expr__OperatorsAssignment_1_0 )?
+ {
+ before(grammarAccess.getExprAccess().getOperatorsAssignment_1_0());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2422:1: ( rule__Expr__OperatorsAssignment_1_0 )?
+ int alt35=2;
+ int LA35_0 = input.LA(1);
+
+ if ( ((LA35_0>=13 && LA35_0<=14)) ) {
+ alt35=1;
+ }
+ switch (alt35) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2422:2: rule__Expr__OperatorsAssignment_1_0
+ {
+ pushFollow(FOLLOW_rule__Expr__OperatorsAssignment_1_0_in_rule__Expr__Group_1__0__Impl4998);
+ rule__Expr__OperatorsAssignment_1_0();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ }
+
+ after(grammarAccess.getExprAccess().getOperatorsAssignment_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Expr__Group_1__0__Impl"
+
+
+ // $ANTLR start "rule__Expr__Group_1__1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2432:1: rule__Expr__Group_1__1 : rule__Expr__Group_1__1__Impl ;
+ public final void rule__Expr__Group_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2436:1: ( rule__Expr__Group_1__1__Impl )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2437:2: rule__Expr__Group_1__1__Impl
+ {
+ pushFollow(FOLLOW_rule__Expr__Group_1__1__Impl_in_rule__Expr__Group_1__15029);
+ rule__Expr__Group_1__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Expr__Group_1__1"
+
+
+ // $ANTLR start "rule__Expr__Group_1__1__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2443:1: rule__Expr__Group_1__1__Impl : ( ( rule__Expr__TermAssignment_1_1 ) ) ;
+ public final void rule__Expr__Group_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2447:1: ( ( ( rule__Expr__TermAssignment_1_1 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2448:1: ( ( rule__Expr__TermAssignment_1_1 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2448:1: ( ( rule__Expr__TermAssignment_1_1 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2449:1: ( rule__Expr__TermAssignment_1_1 )
+ {
+ before(grammarAccess.getExprAccess().getTermAssignment_1_1());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2450:1: ( rule__Expr__TermAssignment_1_1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2450:2: rule__Expr__TermAssignment_1_1
+ {
+ pushFollow(FOLLOW_rule__Expr__TermAssignment_1_1_in_rule__Expr__Group_1__1__Impl5056);
+ rule__Expr__TermAssignment_1_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getExprAccess().getTermAssignment_1_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Expr__Group_1__1__Impl"
+
+
+ // $ANTLR start "rule__Term__Group_0__0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2464:1: rule__Term__Group_0__0 : rule__Term__Group_0__0__Impl rule__Term__Group_0__1 ;
+ public final void rule__Term__Group_0__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2468:1: ( rule__Term__Group_0__0__Impl rule__Term__Group_0__1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2469:2: rule__Term__Group_0__0__Impl rule__Term__Group_0__1
+ {
+ pushFollow(FOLLOW_rule__Term__Group_0__0__Impl_in_rule__Term__Group_0__05090);
+ rule__Term__Group_0__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Term__Group_0__1_in_rule__Term__Group_0__05093);
+ rule__Term__Group_0__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Term__Group_0__0"
+
+
+ // $ANTLR start "rule__Term__Group_0__0__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2476:1: rule__Term__Group_0__0__Impl : ( ( rule__Term__UnaryAssignment_0_0 )? ) ;
+ public final void rule__Term__Group_0__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2480:1: ( ( ( rule__Term__UnaryAssignment_0_0 )? ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2481:1: ( ( rule__Term__UnaryAssignment_0_0 )? )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2481:1: ( ( rule__Term__UnaryAssignment_0_0 )? )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2482:1: ( rule__Term__UnaryAssignment_0_0 )?
+ {
+ before(grammarAccess.getTermAccess().getUnaryAssignment_0_0());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2483:1: ( rule__Term__UnaryAssignment_0_0 )?
+ int alt36=2;
+ int LA36_0 = input.LA(1);
+
+ if ( (LA36_0==31||LA36_0==33) ) {
+ alt36=1;
+ }
+ switch (alt36) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2483:2: rule__Term__UnaryAssignment_0_0
+ {
+ pushFollow(FOLLOW_rule__Term__UnaryAssignment_0_0_in_rule__Term__Group_0__0__Impl5120);
+ rule__Term__UnaryAssignment_0_0();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ }
+
+ after(grammarAccess.getTermAccess().getUnaryAssignment_0_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Term__Group_0__0__Impl"
+
+
+ // $ANTLR start "rule__Term__Group_0__1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2493:1: rule__Term__Group_0__1 : rule__Term__Group_0__1__Impl ;
+ public final void rule__Term__Group_0__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2497:1: ( rule__Term__Group_0__1__Impl )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2498:2: rule__Term__Group_0__1__Impl
+ {
+ pushFollow(FOLLOW_rule__Term__Group_0__1__Impl_in_rule__Term__Group_0__15151);
+ rule__Term__Group_0__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Term__Group_0__1"
+
+
+ // $ANTLR start "rule__Term__Group_0__1__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2504:1: rule__Term__Group_0__1__Impl : ( ( rule__Term__NumberAssignment_0_1 ) ) ;
+ public final void rule__Term__Group_0__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2508:1: ( ( ( rule__Term__NumberAssignment_0_1 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2509:1: ( ( rule__Term__NumberAssignment_0_1 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2509:1: ( ( rule__Term__NumberAssignment_0_1 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2510:1: ( rule__Term__NumberAssignment_0_1 )
+ {
+ before(grammarAccess.getTermAccess().getNumberAssignment_0_1());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2511:1: ( rule__Term__NumberAssignment_0_1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2511:2: rule__Term__NumberAssignment_0_1
+ {
+ pushFollow(FOLLOW_rule__Term__NumberAssignment_0_1_in_rule__Term__Group_0__1__Impl5178);
+ rule__Term__NumberAssignment_0_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getTermAccess().getNumberAssignment_0_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Term__Group_0__1__Impl"
+
+
+ // $ANTLR start "rule__Function__Group__0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2525: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.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2529:1: ( rule__Function__Group__0__Impl rule__Function__Group__1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2530:2: rule__Function__Group__0__Impl rule__Function__Group__1
+ {
+ pushFollow(FOLLOW_rule__Function__Group__0__Impl_in_rule__Function__Group__05212);
+ rule__Function__Group__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Function__Group__1_in_rule__Function__Group__05215);
+ 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.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2537: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.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2541:1: ( ( ( rule__Function__NameAssignment_0 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2542:1: ( ( rule__Function__NameAssignment_0 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2542:1: ( ( rule__Function__NameAssignment_0 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2543:1: ( rule__Function__NameAssignment_0 )
+ {
+ before(grammarAccess.getFunctionAccess().getNameAssignment_0());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2544:1: ( rule__Function__NameAssignment_0 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2544:2: rule__Function__NameAssignment_0
+ {
+ pushFollow(FOLLOW_rule__Function__NameAssignment_0_in_rule__Function__Group__0__Impl5242);
+ 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.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2554: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.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2558:1: ( rule__Function__Group__1__Impl rule__Function__Group__2 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2559:2: rule__Function__Group__1__Impl rule__Function__Group__2
+ {
+ pushFollow(FOLLOW_rule__Function__Group__1__Impl_in_rule__Function__Group__15272);
+ rule__Function__Group__1__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Function__Group__2_in_rule__Function__Group__15275);
+ 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.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2566:1: rule__Function__Group__1__Impl : ( '(' ) ;
+ public final void rule__Function__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2570:1: ( ( '(' ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2571:1: ( '(' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2571:1: ( '(' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2572:1: '('
+ {
+ before(grammarAccess.getFunctionAccess().getLeftParenthesisKeyword_1());
+ match(input,39,FOLLOW_39_in_rule__Function__Group__1__Impl5303);
+ 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.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2585: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.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2589:1: ( rule__Function__Group__2__Impl rule__Function__Group__3 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2590:2: rule__Function__Group__2__Impl rule__Function__Group__3
+ {
+ pushFollow(FOLLOW_rule__Function__Group__2__Impl_in_rule__Function__Group__25334);
+ rule__Function__Group__2__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Function__Group__3_in_rule__Function__Group__25337);
+ 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.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2597:1: rule__Function__Group__2__Impl : ( ( rule__Function__ExprAssignment_2 ) ) ;
+ public final void rule__Function__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2601:1: ( ( ( rule__Function__ExprAssignment_2 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2602:1: ( ( rule__Function__ExprAssignment_2 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2602:1: ( ( rule__Function__ExprAssignment_2 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2603:1: ( rule__Function__ExprAssignment_2 )
+ {
+ before(grammarAccess.getFunctionAccess().getExprAssignment_2());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2604:1: ( rule__Function__ExprAssignment_2 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2604:2: rule__Function__ExprAssignment_2
+ {
+ pushFollow(FOLLOW_rule__Function__ExprAssignment_2_in_rule__Function__Group__2__Impl5364);
+ rule__Function__ExprAssignment_2();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getFunctionAccess().getExprAssignment_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.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2614:1: rule__Function__Group__3 : rule__Function__Group__3__Impl ;
+ public final void rule__Function__Group__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2618:1: ( rule__Function__Group__3__Impl )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2619:2: rule__Function__Group__3__Impl
+ {
+ pushFollow(FOLLOW_rule__Function__Group__3__Impl_in_rule__Function__Group__35394);
+ 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.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2625:1: rule__Function__Group__3__Impl : ( ')' ) ;
+ public final void rule__Function__Group__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2629:1: ( ( ')' ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2630:1: ( ')' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2630:1: ( ')' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2631:1: ')'
+ {
+ before(grammarAccess.getFunctionAccess().getRightParenthesisKeyword_3());
+ match(input,40,FOLLOW_40_in_rule__Function__Group__3__Impl5422);
+ 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__URI__Group__0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2652:1: rule__URI__Group__0 : rule__URI__Group__0__Impl rule__URI__Group__1 ;
+ public final void rule__URI__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2656:1: ( rule__URI__Group__0__Impl rule__URI__Group__1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2657:2: rule__URI__Group__0__Impl rule__URI__Group__1
+ {
+ pushFollow(FOLLOW_rule__URI__Group__0__Impl_in_rule__URI__Group__05461);
+ rule__URI__Group__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__URI__Group__1_in_rule__URI__Group__05464);
+ rule__URI__Group__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__URI__Group__0"
+
+
+ // $ANTLR start "rule__URI__Group__0__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2664:1: rule__URI__Group__0__Impl : ( 'url' ) ;
+ public final void rule__URI__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2668:1: ( ( 'url' ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2669:1: ( 'url' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2669:1: ( 'url' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2670:1: 'url'
+ {
+ before(grammarAccess.getURIAccess().getUrlKeyword_0());
+ match(input,41,FOLLOW_41_in_rule__URI__Group__0__Impl5492);
+ after(grammarAccess.getURIAccess().getUrlKeyword_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__URI__Group__0__Impl"
+
+
+ // $ANTLR start "rule__URI__Group__1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2683:1: rule__URI__Group__1 : rule__URI__Group__1__Impl rule__URI__Group__2 ;
+ public final void rule__URI__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2687:1: ( rule__URI__Group__1__Impl rule__URI__Group__2 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2688:2: rule__URI__Group__1__Impl rule__URI__Group__2
+ {
+ pushFollow(FOLLOW_rule__URI__Group__1__Impl_in_rule__URI__Group__15523);
+ rule__URI__Group__1__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__URI__Group__2_in_rule__URI__Group__15526);
+ rule__URI__Group__2();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__URI__Group__1"
+
+
+ // $ANTLR start "rule__URI__Group__1__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2695:1: rule__URI__Group__1__Impl : ( '(' ) ;
+ public final void rule__URI__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2699:1: ( ( '(' ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2700:1: ( '(' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2700:1: ( '(' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2701:1: '('
+ {
+ before(grammarAccess.getURIAccess().getLeftParenthesisKeyword_1());
+ match(input,39,FOLLOW_39_in_rule__URI__Group__1__Impl5554);
+ after(grammarAccess.getURIAccess().getLeftParenthesisKeyword_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__URI__Group__1__Impl"
+
+
+ // $ANTLR start "rule__URI__Group__2"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2714:1: rule__URI__Group__2 : rule__URI__Group__2__Impl rule__URI__Group__3 ;
+ public final void rule__URI__Group__2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2718:1: ( rule__URI__Group__2__Impl rule__URI__Group__3 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2719:2: rule__URI__Group__2__Impl rule__URI__Group__3
+ {
+ pushFollow(FOLLOW_rule__URI__Group__2__Impl_in_rule__URI__Group__25585);
+ rule__URI__Group__2__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__URI__Group__3_in_rule__URI__Group__25588);
+ rule__URI__Group__3();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__URI__Group__2"
+
+
+ // $ANTLR start "rule__URI__Group__2__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2726:1: rule__URI__Group__2__Impl : ( () ) ;
+ public final void rule__URI__Group__2__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2730:1: ( ( () ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2731:1: ( () )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2731:1: ( () )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2732:1: ()
+ {
+ before(grammarAccess.getURIAccess().getURIAction_2());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2733:1: ()
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2735:1:
+ {
+ }
+
+ after(grammarAccess.getURIAccess().getURIAction_2());
+
+ }
+
+
+ }
+
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__URI__Group__2__Impl"
+
+
+ // $ANTLR start "rule__URI__Group__3"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2745:1: rule__URI__Group__3 : rule__URI__Group__3__Impl rule__URI__Group__4 ;
+ public final void rule__URI__Group__3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2749:1: ( rule__URI__Group__3__Impl rule__URI__Group__4 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2750:2: rule__URI__Group__3__Impl rule__URI__Group__4
+ {
+ pushFollow(FOLLOW_rule__URI__Group__3__Impl_in_rule__URI__Group__35646);
+ rule__URI__Group__3__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__URI__Group__4_in_rule__URI__Group__35649);
+ rule__URI__Group__4();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__URI__Group__3"
+
+
+ // $ANTLR start "rule__URI__Group__3__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2757:1: rule__URI__Group__3__Impl : ( ( rule__URI__Alternatives_3 )* ) ;
+ public final void rule__URI__Group__3__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2761:1: ( ( ( rule__URI__Alternatives_3 )* ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2762:1: ( ( rule__URI__Alternatives_3 )* )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2762:1: ( ( rule__URI__Alternatives_3 )* )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2763:1: ( rule__URI__Alternatives_3 )*
+ {
+ before(grammarAccess.getURIAccess().getAlternatives_3());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2764:1: ( rule__URI__Alternatives_3 )*
+ loop37:
+ do {
+ int alt37=2;
+ int LA37_0 = input.LA(1);
+
+ if ( (LA37_0==RULE_STRING||LA37_0==13||LA37_0==15) ) {
+ alt37=1;
+ }
+
+
+ switch (alt37) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2764:2: rule__URI__Alternatives_3
+ {
+ pushFollow(FOLLOW_rule__URI__Alternatives_3_in_rule__URI__Group__3__Impl5676);
+ rule__URI__Alternatives_3();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ default :
+ break loop37;
+ }
+ } while (true);
+
+ after(grammarAccess.getURIAccess().getAlternatives_3());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__URI__Group__3__Impl"
+
+
+ // $ANTLR start "rule__URI__Group__4"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2774:1: rule__URI__Group__4 : rule__URI__Group__4__Impl rule__URI__Group__5 ;
+ public final void rule__URI__Group__4() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2778:1: ( rule__URI__Group__4__Impl rule__URI__Group__5 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2779:2: rule__URI__Group__4__Impl rule__URI__Group__5
+ {
+ pushFollow(FOLLOW_rule__URI__Group__4__Impl_in_rule__URI__Group__45707);
+ rule__URI__Group__4__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__URI__Group__5_in_rule__URI__Group__45710);
+ rule__URI__Group__5();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__URI__Group__4"
+
+
+ // $ANTLR start "rule__URI__Group__4__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2786:1: rule__URI__Group__4__Impl : ( ( rule__URI__Group_4__0 )? ) ;
+ public final void rule__URI__Group__4__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2790:1: ( ( ( rule__URI__Group_4__0 )? ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2791:1: ( ( rule__URI__Group_4__0 )? )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2791:1: ( ( rule__URI__Group_4__0 )? )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2792:1: ( rule__URI__Group_4__0 )?
+ {
+ before(grammarAccess.getURIAccess().getGroup_4());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2793:1: ( rule__URI__Group_4__0 )?
+ int alt38=2;
+ int LA38_0 = input.LA(1);
+
+ if ( (LA38_0==30) ) {
+ alt38=1;
+ }
+ switch (alt38) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2793:2: rule__URI__Group_4__0
+ {
+ pushFollow(FOLLOW_rule__URI__Group_4__0_in_rule__URI__Group__4__Impl5737);
+ rule__URI__Group_4__0();
+
+ state._fsp--;
+
+
+ }
+ break;
+
+ }
+
+ after(grammarAccess.getURIAccess().getGroup_4());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__URI__Group__4__Impl"
+
+
+ // $ANTLR start "rule__URI__Group__5"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2803:1: rule__URI__Group__5 : rule__URI__Group__5__Impl ;
+ public final void rule__URI__Group__5() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2807:1: ( rule__URI__Group__5__Impl )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2808:2: rule__URI__Group__5__Impl
+ {
+ pushFollow(FOLLOW_rule__URI__Group__5__Impl_in_rule__URI__Group__55768);
+ rule__URI__Group__5__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__URI__Group__5"
+
+
+ // $ANTLR start "rule__URI__Group__5__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2814:1: rule__URI__Group__5__Impl : ( ')' ) ;
+ public final void rule__URI__Group__5__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2818:1: ( ( ')' ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2819:1: ( ')' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2819:1: ( ')' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2820:1: ')'
+ {
+ before(grammarAccess.getURIAccess().getRightParenthesisKeyword_5());
+ match(input,40,FOLLOW_40_in_rule__URI__Group__5__Impl5796);
+ after(grammarAccess.getURIAccess().getRightParenthesisKeyword_5());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__URI__Group__5__Impl"
+
+
+ // $ANTLR start "rule__URI__Group_3_1__0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2845:1: rule__URI__Group_3_1__0 : rule__URI__Group_3_1__0__Impl rule__URI__Group_3_1__1 ;
+ public final void rule__URI__Group_3_1__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2849:1: ( rule__URI__Group_3_1__0__Impl rule__URI__Group_3_1__1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2850:2: rule__URI__Group_3_1__0__Impl rule__URI__Group_3_1__1
+ {
+ pushFollow(FOLLOW_rule__URI__Group_3_1__0__Impl_in_rule__URI__Group_3_1__05839);
+ rule__URI__Group_3_1__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__URI__Group_3_1__1_in_rule__URI__Group_3_1__05842);
+ rule__URI__Group_3_1__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__URI__Group_3_1__0"
+
+
+ // $ANTLR start "rule__URI__Group_3_1__0__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2857:1: rule__URI__Group_3_1__0__Impl : ( ( rule__URI__Alternatives_3_1_0 ) ) ;
+ public final void rule__URI__Group_3_1__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2861:1: ( ( ( rule__URI__Alternatives_3_1_0 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2862:1: ( ( rule__URI__Alternatives_3_1_0 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2862:1: ( ( rule__URI__Alternatives_3_1_0 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2863:1: ( rule__URI__Alternatives_3_1_0 )
+ {
+ before(grammarAccess.getURIAccess().getAlternatives_3_1_0());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2864:1: ( rule__URI__Alternatives_3_1_0 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2864:2: rule__URI__Alternatives_3_1_0
+ {
+ pushFollow(FOLLOW_rule__URI__Alternatives_3_1_0_in_rule__URI__Group_3_1__0__Impl5869);
+ rule__URI__Alternatives_3_1_0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getURIAccess().getAlternatives_3_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__URI__Group_3_1__0__Impl"
+
+
+ // $ANTLR start "rule__URI__Group_3_1__1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2874:1: rule__URI__Group_3_1__1 : rule__URI__Group_3_1__1__Impl ;
+ public final void rule__URI__Group_3_1__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2878:1: ( rule__URI__Group_3_1__1__Impl )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2879:2: rule__URI__Group_3_1__1__Impl
+ {
+ pushFollow(FOLLOW_rule__URI__Group_3_1__1__Impl_in_rule__URI__Group_3_1__15899);
+ rule__URI__Group_3_1__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__URI__Group_3_1__1"
+
+
+ // $ANTLR start "rule__URI__Group_3_1__1__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2885:1: rule__URI__Group_3_1__1__Impl : ( ( rule__URI__IdAssignment_3_1_1 ) ) ;
+ public final void rule__URI__Group_3_1__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2889:1: ( ( ( rule__URI__IdAssignment_3_1_1 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2890:1: ( ( rule__URI__IdAssignment_3_1_1 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2890:1: ( ( rule__URI__IdAssignment_3_1_1 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2891:1: ( rule__URI__IdAssignment_3_1_1 )
+ {
+ before(grammarAccess.getURIAccess().getIdAssignment_3_1_1());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2892:1: ( rule__URI__IdAssignment_3_1_1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2892:2: rule__URI__IdAssignment_3_1_1
+ {
+ pushFollow(FOLLOW_rule__URI__IdAssignment_3_1_1_in_rule__URI__Group_3_1__1__Impl5926);
+ rule__URI__IdAssignment_3_1_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getURIAccess().getIdAssignment_3_1_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__URI__Group_3_1__1__Impl"
+
+
+ // $ANTLR start "rule__URI__Group_4__0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2906:1: rule__URI__Group_4__0 : rule__URI__Group_4__0__Impl rule__URI__Group_4__1 ;
+ public final void rule__URI__Group_4__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2910:1: ( rule__URI__Group_4__0__Impl rule__URI__Group_4__1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2911:2: rule__URI__Group_4__0__Impl rule__URI__Group_4__1
+ {
+ pushFollow(FOLLOW_rule__URI__Group_4__0__Impl_in_rule__URI__Group_4__05960);
+ rule__URI__Group_4__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__URI__Group_4__1_in_rule__URI__Group_4__05963);
+ rule__URI__Group_4__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__URI__Group_4__0"
+
+
+ // $ANTLR start "rule__URI__Group_4__0__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2918:1: rule__URI__Group_4__0__Impl : ( '.' ) ;
+ public final void rule__URI__Group_4__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2922:1: ( ( '.' ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2923:1: ( '.' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2923:1: ( '.' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2924:1: '.'
+ {
+ before(grammarAccess.getURIAccess().getFullStopKeyword_4_0());
+ match(input,30,FOLLOW_30_in_rule__URI__Group_4__0__Impl5991);
+ after(grammarAccess.getURIAccess().getFullStopKeyword_4_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__URI__Group_4__0__Impl"
+
+
+ // $ANTLR start "rule__URI__Group_4__1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2937:1: rule__URI__Group_4__1 : rule__URI__Group_4__1__Impl ;
+ public final void rule__URI__Group_4__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2941:1: ( rule__URI__Group_4__1__Impl )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2942:2: rule__URI__Group_4__1__Impl
+ {
+ pushFollow(FOLLOW_rule__URI__Group_4__1__Impl_in_rule__URI__Group_4__16022);
+ rule__URI__Group_4__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__URI__Group_4__1"
+
+
+ // $ANTLR start "rule__URI__Group_4__1__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2948:1: rule__URI__Group_4__1__Impl : ( ( rule__URI__IdAssignment_4_1 ) ) ;
+ public final void rule__URI__Group_4__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2952:1: ( ( ( rule__URI__IdAssignment_4_1 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2953:1: ( ( rule__URI__IdAssignment_4_1 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2953:1: ( ( rule__URI__IdAssignment_4_1 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2954:1: ( rule__URI__IdAssignment_4_1 )
+ {
+ before(grammarAccess.getURIAccess().getIdAssignment_4_1());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2955:1: ( rule__URI__IdAssignment_4_1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2955:2: rule__URI__IdAssignment_4_1
+ {
+ pushFollow(FOLLOW_rule__URI__IdAssignment_4_1_in_rule__URI__Group_4__1__Impl6049);
+ rule__URI__IdAssignment_4_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getURIAccess().getIdAssignment_4_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__URI__Group_4__1__Impl"
+
+
+ // $ANTLR start "rule__PERCENTAGE__Group__0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2969:1: rule__PERCENTAGE__Group__0 : rule__PERCENTAGE__Group__0__Impl rule__PERCENTAGE__Group__1 ;
+ public final void rule__PERCENTAGE__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2973:1: ( rule__PERCENTAGE__Group__0__Impl rule__PERCENTAGE__Group__1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2974:2: rule__PERCENTAGE__Group__0__Impl rule__PERCENTAGE__Group__1
+ {
+ pushFollow(FOLLOW_rule__PERCENTAGE__Group__0__Impl_in_rule__PERCENTAGE__Group__06083);
+ rule__PERCENTAGE__Group__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__PERCENTAGE__Group__1_in_rule__PERCENTAGE__Group__06086);
+ rule__PERCENTAGE__Group__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PERCENTAGE__Group__0"
+
+
+ // $ANTLR start "rule__PERCENTAGE__Group__0__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2981:1: rule__PERCENTAGE__Group__0__Impl : ( RULE_INT ) ;
+ public final void rule__PERCENTAGE__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2985:1: ( ( RULE_INT ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2986:1: ( RULE_INT )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2986:1: ( RULE_INT )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2987:1: RULE_INT
+ {
+ before(grammarAccess.getPERCENTAGEAccess().getINTTerminalRuleCall_0());
+ match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__PERCENTAGE__Group__0__Impl6113);
+ after(grammarAccess.getPERCENTAGEAccess().getINTTerminalRuleCall_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PERCENTAGE__Group__0__Impl"
+
+
+ // $ANTLR start "rule__PERCENTAGE__Group__1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:2998:1: rule__PERCENTAGE__Group__1 : rule__PERCENTAGE__Group__1__Impl ;
+ public final void rule__PERCENTAGE__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3002:1: ( rule__PERCENTAGE__Group__1__Impl )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3003:2: rule__PERCENTAGE__Group__1__Impl
+ {
+ pushFollow(FOLLOW_rule__PERCENTAGE__Group__1__Impl_in_rule__PERCENTAGE__Group__16142);
+ rule__PERCENTAGE__Group__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PERCENTAGE__Group__1"
+
+
+ // $ANTLR start "rule__PERCENTAGE__Group__1__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3009:1: rule__PERCENTAGE__Group__1__Impl : ( '%' ) ;
+ public final void rule__PERCENTAGE__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3013:1: ( ( '%' ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3014:1: ( '%' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3014:1: ( '%' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3015:1: '%'
+ {
+ before(grammarAccess.getPERCENTAGEAccess().getPercentSignKeyword_1());
+ match(input,42,FOLLOW_42_in_rule__PERCENTAGE__Group__1__Impl6170);
+ after(grammarAccess.getPERCENTAGEAccess().getPercentSignKeyword_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__PERCENTAGE__Group__1__Impl"
+
+
+ // $ANTLR start "rule__EMS__Group__0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3032:1: rule__EMS__Group__0 : rule__EMS__Group__0__Impl rule__EMS__Group__1 ;
+ public final void rule__EMS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3036:1: ( rule__EMS__Group__0__Impl rule__EMS__Group__1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3037:2: rule__EMS__Group__0__Impl rule__EMS__Group__1
+ {
+ pushFollow(FOLLOW_rule__EMS__Group__0__Impl_in_rule__EMS__Group__06205);
+ rule__EMS__Group__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__EMS__Group__1_in_rule__EMS__Group__06208);
+ rule__EMS__Group__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__EMS__Group__0"
+
+
+ // $ANTLR start "rule__EMS__Group__0__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3044:1: rule__EMS__Group__0__Impl : ( RULE_INT ) ;
+ public final void rule__EMS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3048:1: ( ( RULE_INT ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3049:1: ( RULE_INT )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3049:1: ( RULE_INT )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3050:1: RULE_INT
+ {
+ before(grammarAccess.getEMSAccess().getINTTerminalRuleCall_0());
+ match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__EMS__Group__0__Impl6235);
+ after(grammarAccess.getEMSAccess().getINTTerminalRuleCall_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__EMS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__EMS__Group__1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3061:1: rule__EMS__Group__1 : rule__EMS__Group__1__Impl ;
+ public final void rule__EMS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3065:1: ( rule__EMS__Group__1__Impl )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3066:2: rule__EMS__Group__1__Impl
+ {
+ pushFollow(FOLLOW_rule__EMS__Group__1__Impl_in_rule__EMS__Group__16264);
+ rule__EMS__Group__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__EMS__Group__1"
+
+
+ // $ANTLR start "rule__EMS__Group__1__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3072:1: rule__EMS__Group__1__Impl : ( 'em' ) ;
+ public final void rule__EMS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3076:1: ( ( 'em' ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3077:1: ( 'em' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3077:1: ( 'em' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3078:1: 'em'
+ {
+ before(grammarAccess.getEMSAccess().getEmKeyword_1());
+ match(input,43,FOLLOW_43_in_rule__EMS__Group__1__Impl6292);
+ after(grammarAccess.getEMSAccess().getEmKeyword_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__EMS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__EXS__Group__0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3095:1: rule__EXS__Group__0 : rule__EXS__Group__0__Impl rule__EXS__Group__1 ;
+ public final void rule__EXS__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3099:1: ( rule__EXS__Group__0__Impl rule__EXS__Group__1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3100:2: rule__EXS__Group__0__Impl rule__EXS__Group__1
+ {
+ pushFollow(FOLLOW_rule__EXS__Group__0__Impl_in_rule__EXS__Group__06327);
+ rule__EXS__Group__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__EXS__Group__1_in_rule__EXS__Group__06330);
+ rule__EXS__Group__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__EXS__Group__0"
+
+
+ // $ANTLR start "rule__EXS__Group__0__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3107:1: rule__EXS__Group__0__Impl : ( RULE_INT ) ;
+ public final void rule__EXS__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3111:1: ( ( RULE_INT ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3112:1: ( RULE_INT )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3112:1: ( RULE_INT )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3113:1: RULE_INT
+ {
+ before(grammarAccess.getEXSAccess().getINTTerminalRuleCall_0());
+ match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__EXS__Group__0__Impl6357);
+ after(grammarAccess.getEXSAccess().getINTTerminalRuleCall_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__EXS__Group__0__Impl"
+
+
+ // $ANTLR start "rule__EXS__Group__1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3124:1: rule__EXS__Group__1 : rule__EXS__Group__1__Impl ;
+ public final void rule__EXS__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3128:1: ( rule__EXS__Group__1__Impl )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3129:2: rule__EXS__Group__1__Impl
+ {
+ pushFollow(FOLLOW_rule__EXS__Group__1__Impl_in_rule__EXS__Group__16386);
+ rule__EXS__Group__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__EXS__Group__1"
+
+
+ // $ANTLR start "rule__EXS__Group__1__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3135:1: rule__EXS__Group__1__Impl : ( 'ex' ) ;
+ public final void rule__EXS__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3139:1: ( ( 'ex' ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3140:1: ( 'ex' )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3140:1: ( 'ex' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3141:1: 'ex'
+ {
+ before(grammarAccess.getEXSAccess().getExKeyword_1());
+ match(input,44,FOLLOW_44_in_rule__EXS__Group__1__Impl6414);
+ after(grammarAccess.getEXSAccess().getExKeyword_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__EXS__Group__1__Impl"
+
+
+ // $ANTLR start "rule__LENGTH__Group__0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3158:1: rule__LENGTH__Group__0 : rule__LENGTH__Group__0__Impl rule__LENGTH__Group__1 ;
+ public final void rule__LENGTH__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3162:1: ( rule__LENGTH__Group__0__Impl rule__LENGTH__Group__1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3163:2: rule__LENGTH__Group__0__Impl rule__LENGTH__Group__1
+ {
+ pushFollow(FOLLOW_rule__LENGTH__Group__0__Impl_in_rule__LENGTH__Group__06449);
+ rule__LENGTH__Group__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__LENGTH__Group__1_in_rule__LENGTH__Group__06452);
+ rule__LENGTH__Group__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LENGTH__Group__0"
+
+
+ // $ANTLR start "rule__LENGTH__Group__0__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3170:1: rule__LENGTH__Group__0__Impl : ( RULE_INT ) ;
+ public final void rule__LENGTH__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3174:1: ( ( RULE_INT ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3175:1: ( RULE_INT )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3175:1: ( RULE_INT )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3176:1: RULE_INT
+ {
+ before(grammarAccess.getLENGTHAccess().getINTTerminalRuleCall_0());
+ match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__LENGTH__Group__0__Impl6479);
+ after(grammarAccess.getLENGTHAccess().getINTTerminalRuleCall_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LENGTH__Group__0__Impl"
+
+
+ // $ANTLR start "rule__LENGTH__Group__1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3187:1: rule__LENGTH__Group__1 : rule__LENGTH__Group__1__Impl ;
+ public final void rule__LENGTH__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3191:1: ( rule__LENGTH__Group__1__Impl )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3192:2: rule__LENGTH__Group__1__Impl
+ {
+ pushFollow(FOLLOW_rule__LENGTH__Group__1__Impl_in_rule__LENGTH__Group__16508);
+ rule__LENGTH__Group__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LENGTH__Group__1"
+
+
+ // $ANTLR start "rule__LENGTH__Group__1__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3198:1: rule__LENGTH__Group__1__Impl : ( ( rule__LENGTH__Alternatives_1 ) ) ;
+ public final void rule__LENGTH__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3202:1: ( ( ( rule__LENGTH__Alternatives_1 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3203:1: ( ( rule__LENGTH__Alternatives_1 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3203:1: ( ( rule__LENGTH__Alternatives_1 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3204:1: ( rule__LENGTH__Alternatives_1 )
+ {
+ before(grammarAccess.getLENGTHAccess().getAlternatives_1());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3205:1: ( rule__LENGTH__Alternatives_1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3205:2: rule__LENGTH__Alternatives_1
+ {
+ pushFollow(FOLLOW_rule__LENGTH__Alternatives_1_in_rule__LENGTH__Group__1__Impl6535);
+ rule__LENGTH__Alternatives_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getLENGTHAccess().getAlternatives_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__LENGTH__Group__1__Impl"
+
+
+ // $ANTLR start "rule__ANGLE__Group__0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3219:1: rule__ANGLE__Group__0 : rule__ANGLE__Group__0__Impl rule__ANGLE__Group__1 ;
+ public final void rule__ANGLE__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3223:1: ( rule__ANGLE__Group__0__Impl rule__ANGLE__Group__1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3224:2: rule__ANGLE__Group__0__Impl rule__ANGLE__Group__1
+ {
+ pushFollow(FOLLOW_rule__ANGLE__Group__0__Impl_in_rule__ANGLE__Group__06569);
+ rule__ANGLE__Group__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__ANGLE__Group__1_in_rule__ANGLE__Group__06572);
+ rule__ANGLE__Group__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ANGLE__Group__0"
+
+
+ // $ANTLR start "rule__ANGLE__Group__0__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3231:1: rule__ANGLE__Group__0__Impl : ( RULE_INT ) ;
+ public final void rule__ANGLE__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3235:1: ( ( RULE_INT ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3236:1: ( RULE_INT )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3236:1: ( RULE_INT )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3237:1: RULE_INT
+ {
+ before(grammarAccess.getANGLEAccess().getINTTerminalRuleCall_0());
+ match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__ANGLE__Group__0__Impl6599);
+ after(grammarAccess.getANGLEAccess().getINTTerminalRuleCall_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ANGLE__Group__0__Impl"
+
+
+ // $ANTLR start "rule__ANGLE__Group__1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3248:1: rule__ANGLE__Group__1 : rule__ANGLE__Group__1__Impl ;
+ public final void rule__ANGLE__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3252:1: ( rule__ANGLE__Group__1__Impl )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3253:2: rule__ANGLE__Group__1__Impl
+ {
+ pushFollow(FOLLOW_rule__ANGLE__Group__1__Impl_in_rule__ANGLE__Group__16628);
+ rule__ANGLE__Group__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ANGLE__Group__1"
+
+
+ // $ANTLR start "rule__ANGLE__Group__1__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3259:1: rule__ANGLE__Group__1__Impl : ( ( rule__ANGLE__Alternatives_1 ) ) ;
+ public final void rule__ANGLE__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3263:1: ( ( ( rule__ANGLE__Alternatives_1 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3264:1: ( ( rule__ANGLE__Alternatives_1 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3264:1: ( ( rule__ANGLE__Alternatives_1 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3265:1: ( rule__ANGLE__Alternatives_1 )
+ {
+ before(grammarAccess.getANGLEAccess().getAlternatives_1());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3266:1: ( rule__ANGLE__Alternatives_1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3266:2: rule__ANGLE__Alternatives_1
+ {
+ pushFollow(FOLLOW_rule__ANGLE__Alternatives_1_in_rule__ANGLE__Group__1__Impl6655);
+ rule__ANGLE__Alternatives_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getANGLEAccess().getAlternatives_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__ANGLE__Group__1__Impl"
+
+
+ // $ANTLR start "rule__TIME__Group__0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3280:1: rule__TIME__Group__0 : rule__TIME__Group__0__Impl rule__TIME__Group__1 ;
+ public final void rule__TIME__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3284:1: ( rule__TIME__Group__0__Impl rule__TIME__Group__1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3285:2: rule__TIME__Group__0__Impl rule__TIME__Group__1
+ {
+ pushFollow(FOLLOW_rule__TIME__Group__0__Impl_in_rule__TIME__Group__06689);
+ rule__TIME__Group__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__TIME__Group__1_in_rule__TIME__Group__06692);
+ rule__TIME__Group__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TIME__Group__0"
+
+
+ // $ANTLR start "rule__TIME__Group__0__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3292:1: rule__TIME__Group__0__Impl : ( RULE_INT ) ;
+ public final void rule__TIME__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3296:1: ( ( RULE_INT ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3297:1: ( RULE_INT )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3297:1: ( RULE_INT )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3298:1: RULE_INT
+ {
+ before(grammarAccess.getTIMEAccess().getINTTerminalRuleCall_0());
+ match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__TIME__Group__0__Impl6719);
+ after(grammarAccess.getTIMEAccess().getINTTerminalRuleCall_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TIME__Group__0__Impl"
+
+
+ // $ANTLR start "rule__TIME__Group__1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3309:1: rule__TIME__Group__1 : rule__TIME__Group__1__Impl ;
+ public final void rule__TIME__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3313:1: ( rule__TIME__Group__1__Impl )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3314:2: rule__TIME__Group__1__Impl
+ {
+ pushFollow(FOLLOW_rule__TIME__Group__1__Impl_in_rule__TIME__Group__16748);
+ rule__TIME__Group__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TIME__Group__1"
+
+
+ // $ANTLR start "rule__TIME__Group__1__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3320:1: rule__TIME__Group__1__Impl : ( ( rule__TIME__Alternatives_1 ) ) ;
+ public final void rule__TIME__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3324:1: ( ( ( rule__TIME__Alternatives_1 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3325:1: ( ( rule__TIME__Alternatives_1 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3325:1: ( ( rule__TIME__Alternatives_1 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3326:1: ( rule__TIME__Alternatives_1 )
+ {
+ before(grammarAccess.getTIMEAccess().getAlternatives_1());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3327:1: ( rule__TIME__Alternatives_1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3327:2: rule__TIME__Alternatives_1
+ {
+ pushFollow(FOLLOW_rule__TIME__Alternatives_1_in_rule__TIME__Group__1__Impl6775);
+ rule__TIME__Alternatives_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getTIMEAccess().getAlternatives_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__TIME__Group__1__Impl"
+
+
+ // $ANTLR start "rule__FREQ__Group__0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3341:1: rule__FREQ__Group__0 : rule__FREQ__Group__0__Impl rule__FREQ__Group__1 ;
+ public final void rule__FREQ__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3345:1: ( rule__FREQ__Group__0__Impl rule__FREQ__Group__1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3346:2: rule__FREQ__Group__0__Impl rule__FREQ__Group__1
+ {
+ pushFollow(FOLLOW_rule__FREQ__Group__0__Impl_in_rule__FREQ__Group__06809);
+ rule__FREQ__Group__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__FREQ__Group__1_in_rule__FREQ__Group__06812);
+ rule__FREQ__Group__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__FREQ__Group__0"
+
+
+ // $ANTLR start "rule__FREQ__Group__0__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3353:1: rule__FREQ__Group__0__Impl : ( RULE_INT ) ;
+ public final void rule__FREQ__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3357:1: ( ( RULE_INT ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3358:1: ( RULE_INT )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3358:1: ( RULE_INT )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3359:1: RULE_INT
+ {
+ before(grammarAccess.getFREQAccess().getINTTerminalRuleCall_0());
+ match(input,RULE_INT,FOLLOW_RULE_INT_in_rule__FREQ__Group__0__Impl6839);
+ after(grammarAccess.getFREQAccess().getINTTerminalRuleCall_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__FREQ__Group__0__Impl"
+
+
+ // $ANTLR start "rule__FREQ__Group__1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3370:1: rule__FREQ__Group__1 : rule__FREQ__Group__1__Impl ;
+ public final void rule__FREQ__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3374:1: ( rule__FREQ__Group__1__Impl )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3375:2: rule__FREQ__Group__1__Impl
+ {
+ pushFollow(FOLLOW_rule__FREQ__Group__1__Impl_in_rule__FREQ__Group__16868);
+ rule__FREQ__Group__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__FREQ__Group__1"
+
+
+ // $ANTLR start "rule__FREQ__Group__1__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3381:1: rule__FREQ__Group__1__Impl : ( ( rule__FREQ__Alternatives_1 ) ) ;
+ public final void rule__FREQ__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3385:1: ( ( ( rule__FREQ__Alternatives_1 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3386:1: ( ( rule__FREQ__Alternatives_1 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3386:1: ( ( rule__FREQ__Alternatives_1 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3387:1: ( rule__FREQ__Alternatives_1 )
+ {
+ before(grammarAccess.getFREQAccess().getAlternatives_1());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3388:1: ( rule__FREQ__Alternatives_1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3388:2: rule__FREQ__Alternatives_1
+ {
+ pushFollow(FOLLOW_rule__FREQ__Alternatives_1_in_rule__FREQ__Group__1__Impl6895);
+ rule__FREQ__Alternatives_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getFREQAccess().getAlternatives_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__FREQ__Group__1__Impl"
+
+
+ // $ANTLR start "rule__Css_hash_class__Group__0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3402:1: rule__Css_hash_class__Group__0 : rule__Css_hash_class__Group__0__Impl rule__Css_hash_class__Group__1 ;
+ public final void rule__Css_hash_class__Group__0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3406:1: ( rule__Css_hash_class__Group__0__Impl rule__Css_hash_class__Group__1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3407:2: rule__Css_hash_class__Group__0__Impl rule__Css_hash_class__Group__1
+ {
+ pushFollow(FOLLOW_rule__Css_hash_class__Group__0__Impl_in_rule__Css_hash_class__Group__06929);
+ rule__Css_hash_class__Group__0__Impl();
+
+ state._fsp--;
+
+ pushFollow(FOLLOW_rule__Css_hash_class__Group__1_in_rule__Css_hash_class__Group__06932);
+ rule__Css_hash_class__Group__1();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Css_hash_class__Group__0"
+
+
+ // $ANTLR start "rule__Css_hash_class__Group__0__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3414:1: rule__Css_hash_class__Group__0__Impl : ( ( rule__Css_hash_class__TypeAssignment_0 ) ) ;
+ public final void rule__Css_hash_class__Group__0__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3418:1: ( ( ( rule__Css_hash_class__TypeAssignment_0 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3419:1: ( ( rule__Css_hash_class__TypeAssignment_0 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3419:1: ( ( rule__Css_hash_class__TypeAssignment_0 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3420:1: ( rule__Css_hash_class__TypeAssignment_0 )
+ {
+ before(grammarAccess.getCss_hash_classAccess().getTypeAssignment_0());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3421:1: ( rule__Css_hash_class__TypeAssignment_0 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3421:2: rule__Css_hash_class__TypeAssignment_0
+ {
+ pushFollow(FOLLOW_rule__Css_hash_class__TypeAssignment_0_in_rule__Css_hash_class__Group__0__Impl6959);
+ rule__Css_hash_class__TypeAssignment_0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getCss_hash_classAccess().getTypeAssignment_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Css_hash_class__Group__0__Impl"
+
+
+ // $ANTLR start "rule__Css_hash_class__Group__1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3431:1: rule__Css_hash_class__Group__1 : rule__Css_hash_class__Group__1__Impl ;
+ public final void rule__Css_hash_class__Group__1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3435:1: ( rule__Css_hash_class__Group__1__Impl )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3436:2: rule__Css_hash_class__Group__1__Impl
+ {
+ pushFollow(FOLLOW_rule__Css_hash_class__Group__1__Impl_in_rule__Css_hash_class__Group__16989);
+ rule__Css_hash_class__Group__1__Impl();
+
+ state._fsp--;
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Css_hash_class__Group__1"
+
+
+ // $ANTLR start "rule__Css_hash_class__Group__1__Impl"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3442:1: rule__Css_hash_class__Group__1__Impl : ( ( rule__Css_hash_class__NameAssignment_1 ) ) ;
+ public final void rule__Css_hash_class__Group__1__Impl() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3446:1: ( ( ( rule__Css_hash_class__NameAssignment_1 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3447:1: ( ( rule__Css_hash_class__NameAssignment_1 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3447:1: ( ( rule__Css_hash_class__NameAssignment_1 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3448:1: ( rule__Css_hash_class__NameAssignment_1 )
+ {
+ before(grammarAccess.getCss_hash_classAccess().getNameAssignment_1());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3449:1: ( rule__Css_hash_class__NameAssignment_1 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3449:2: rule__Css_hash_class__NameAssignment_1
+ {
+ pushFollow(FOLLOW_rule__Css_hash_class__NameAssignment_1_in_rule__Css_hash_class__Group__1__Impl7016);
+ rule__Css_hash_class__NameAssignment_1();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getCss_hash_classAccess().getNameAssignment_1());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Css_hash_class__Group__1__Impl"
+
+
+ // $ANTLR start "rule__Stylesheet__LocationAssignment_0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3464:1: rule__Stylesheet__LocationAssignment_0 : ( RULE_STRING ) ;
+ public final void rule__Stylesheet__LocationAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3468:1: ( ( RULE_STRING ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3469:1: ( RULE_STRING )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3469:1: ( RULE_STRING )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3470:1: RULE_STRING
+ {
+ before(grammarAccess.getStylesheetAccess().getLocationSTRINGTerminalRuleCall_0_0());
+ match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Stylesheet__LocationAssignment_07055);
+ after(grammarAccess.getStylesheetAccess().getLocationSTRINGTerminalRuleCall_0_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Stylesheet__LocationAssignment_0"
+
+
+ // $ANTLR start "rule__Stylesheet__ImportNameAssignment_1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3479:1: rule__Stylesheet__ImportNameAssignment_1 : ( rulecss_import ) ;
+ public final void rule__Stylesheet__ImportNameAssignment_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3483:1: ( ( rulecss_import ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3484:1: ( rulecss_import )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3484:1: ( rulecss_import )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3485:1: rulecss_import
+ {
+ before(grammarAccess.getStylesheetAccess().getImportNameCss_importParserRuleCall_1_0());
+ pushFollow(FOLLOW_rulecss_import_in_rule__Stylesheet__ImportNameAssignment_17086);
+ rulecss_import();
+
+ state._fsp--;
+
+ after(grammarAccess.getStylesheetAccess().getImportNameCss_importParserRuleCall_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Stylesheet__ImportNameAssignment_1"
+
+
+ // $ANTLR start "rule__Stylesheet__RulesetAssignment_2"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3494:1: rule__Stylesheet__RulesetAssignment_2 : ( ruleRules ) ;
+ public final void rule__Stylesheet__RulesetAssignment_2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3498:1: ( ( ruleRules ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3499:1: ( ruleRules )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3499:1: ( ruleRules )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3500:1: ruleRules
+ {
+ before(grammarAccess.getStylesheetAccess().getRulesetRulesParserRuleCall_2_0());
+ pushFollow(FOLLOW_ruleRules_in_rule__Stylesheet__RulesetAssignment_27117);
+ ruleRules();
+
+ state._fsp--;
+
+ after(grammarAccess.getStylesheetAccess().getRulesetRulesParserRuleCall_2_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Stylesheet__RulesetAssignment_2"
+
+
+ // $ANTLR start "rule__Rules__SelectorsAssignment_0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3509:1: rule__Rules__SelectorsAssignment_0 : ( ruleselector ) ;
+ public final void rule__Rules__SelectorsAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3513:1: ( ( ruleselector ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3514:1: ( ruleselector )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3514:1: ( ruleselector )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3515:1: ruleselector
+ {
+ before(grammarAccess.getRulesAccess().getSelectorsSelectorParserRuleCall_0_0());
+ pushFollow(FOLLOW_ruleselector_in_rule__Rules__SelectorsAssignment_07148);
+ ruleselector();
+
+ state._fsp--;
+
+ after(grammarAccess.getRulesAccess().getSelectorsSelectorParserRuleCall_0_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Rules__SelectorsAssignment_0"
+
+
+ // $ANTLR start "rule__Rules__SelectorsAssignment_1_1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3524:1: rule__Rules__SelectorsAssignment_1_1 : ( ruleselector ) ;
+ public final void rule__Rules__SelectorsAssignment_1_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3528:1: ( ( ruleselector ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3529:1: ( ruleselector )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3529:1: ( ruleselector )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3530:1: ruleselector
+ {
+ before(grammarAccess.getRulesAccess().getSelectorsSelectorParserRuleCall_1_1_0());
+ pushFollow(FOLLOW_ruleselector_in_rule__Rules__SelectorsAssignment_1_17179);
+ ruleselector();
+
+ state._fsp--;
+
+ after(grammarAccess.getRulesAccess().getSelectorsSelectorParserRuleCall_1_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Rules__SelectorsAssignment_1_1"
+
+
+ // $ANTLR start "rule__Rules__DeclarationsAssignment_3"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3539:1: rule__Rules__DeclarationsAssignment_3 : ( ruledeclaration ) ;
+ public final void rule__Rules__DeclarationsAssignment_3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3543:1: ( ( ruledeclaration ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3544:1: ( ruledeclaration )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3544:1: ( ruledeclaration )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3545:1: ruledeclaration
+ {
+ before(grammarAccess.getRulesAccess().getDeclarationsDeclarationParserRuleCall_3_0());
+ pushFollow(FOLLOW_ruledeclaration_in_rule__Rules__DeclarationsAssignment_37210);
+ ruledeclaration();
+
+ state._fsp--;
+
+ after(grammarAccess.getRulesAccess().getDeclarationsDeclarationParserRuleCall_3_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Rules__DeclarationsAssignment_3"
+
+
+ // $ANTLR start "rule__Rules__DeclarationsAssignment_4_1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3554:1: rule__Rules__DeclarationsAssignment_4_1 : ( ruledeclaration ) ;
+ public final void rule__Rules__DeclarationsAssignment_4_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3558:1: ( ( ruledeclaration ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3559:1: ( ruledeclaration )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3559:1: ( ruledeclaration )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3560:1: ruledeclaration
+ {
+ before(grammarAccess.getRulesAccess().getDeclarationsDeclarationParserRuleCall_4_1_0());
+ pushFollow(FOLLOW_ruledeclaration_in_rule__Rules__DeclarationsAssignment_4_17241);
+ ruledeclaration();
+
+ state._fsp--;
+
+ after(grammarAccess.getRulesAccess().getDeclarationsDeclarationParserRuleCall_4_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Rules__DeclarationsAssignment_4_1"
+
+
+ // $ANTLR start "rule__Css_import__String_nameAssignment_1_0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3569:1: rule__Css_import__String_nameAssignment_1_0 : ( RULE_STRING ) ;
+ public final void rule__Css_import__String_nameAssignment_1_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3573:1: ( ( RULE_STRING ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3574:1: ( RULE_STRING )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3574:1: ( RULE_STRING )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3575:1: RULE_STRING
+ {
+ before(grammarAccess.getCss_importAccess().getString_nameSTRINGTerminalRuleCall_1_0_0());
+ match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Css_import__String_nameAssignment_1_07272);
+ after(grammarAccess.getCss_importAccess().getString_nameSTRINGTerminalRuleCall_1_0_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Css_import__String_nameAssignment_1_0"
+
+
+ // $ANTLR start "rule__Selector__SimpleselectorsAssignment_0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3584:1: rule__Selector__SimpleselectorsAssignment_0 : ( rulesimple_selector ) ;
+ public final void rule__Selector__SimpleselectorsAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3588:1: ( ( rulesimple_selector ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3589:1: ( rulesimple_selector )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3589:1: ( rulesimple_selector )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3590:1: rulesimple_selector
+ {
+ before(grammarAccess.getSelectorAccess().getSimpleselectorsSimple_selectorParserRuleCall_0_0());
+ pushFollow(FOLLOW_rulesimple_selector_in_rule__Selector__SimpleselectorsAssignment_07303);
+ rulesimple_selector();
+
+ state._fsp--;
+
+ after(grammarAccess.getSelectorAccess().getSimpleselectorsSimple_selectorParserRuleCall_0_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Selector__SimpleselectorsAssignment_0"
+
+
+ // $ANTLR start "rule__Selector__CombinatorAssignment_1_0_0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3599:1: rule__Selector__CombinatorAssignment_1_0_0 : ( rulecombinator ) ;
+ public final void rule__Selector__CombinatorAssignment_1_0_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3603:1: ( ( rulecombinator ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3604:1: ( rulecombinator )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3604:1: ( rulecombinator )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3605:1: rulecombinator
+ {
+ before(grammarAccess.getSelectorAccess().getCombinatorCombinatorParserRuleCall_1_0_0_0());
+ pushFollow(FOLLOW_rulecombinator_in_rule__Selector__CombinatorAssignment_1_0_07334);
+ rulecombinator();
+
+ state._fsp--;
+
+ after(grammarAccess.getSelectorAccess().getCombinatorCombinatorParserRuleCall_1_0_0_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Selector__CombinatorAssignment_1_0_0"
+
+
+ // $ANTLR start "rule__Selector__SelectorAssignment_1_0_1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3614:1: rule__Selector__SelectorAssignment_1_0_1 : ( ruleselector ) ;
+ public final void rule__Selector__SelectorAssignment_1_0_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3618:1: ( ( ruleselector ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3619:1: ( ruleselector )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3619:1: ( ruleselector )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3620:1: ruleselector
+ {
+ before(grammarAccess.getSelectorAccess().getSelectorSelectorParserRuleCall_1_0_1_0());
+ pushFollow(FOLLOW_ruleselector_in_rule__Selector__SelectorAssignment_1_0_17365);
+ ruleselector();
+
+ state._fsp--;
+
+ after(grammarAccess.getSelectorAccess().getSelectorSelectorParserRuleCall_1_0_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Selector__SelectorAssignment_1_0_1"
+
+
+ // $ANTLR start "rule__Selector__CombinatorAssignment_1_1_1_0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3629:1: rule__Selector__CombinatorAssignment_1_1_1_0 : ( rulecombinator ) ;
+ public final void rule__Selector__CombinatorAssignment_1_1_1_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3633:1: ( ( rulecombinator ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3634:1: ( rulecombinator )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3634:1: ( rulecombinator )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3635:1: rulecombinator
+ {
+ before(grammarAccess.getSelectorAccess().getCombinatorCombinatorParserRuleCall_1_1_1_0_0());
+ pushFollow(FOLLOW_rulecombinator_in_rule__Selector__CombinatorAssignment_1_1_1_07396);
+ rulecombinator();
+
+ state._fsp--;
+
+ after(grammarAccess.getSelectorAccess().getCombinatorCombinatorParserRuleCall_1_1_1_0_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Selector__CombinatorAssignment_1_1_1_0"
+
+
+ // $ANTLR start "rule__Selector__SelectorAssignment_1_1_1_1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3644:1: rule__Selector__SelectorAssignment_1_1_1_1 : ( ruleselector ) ;
+ public final void rule__Selector__SelectorAssignment_1_1_1_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3648:1: ( ( ruleselector ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3649:1: ( ruleselector )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3649:1: ( ruleselector )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3650:1: ruleselector
+ {
+ before(grammarAccess.getSelectorAccess().getSelectorSelectorParserRuleCall_1_1_1_1_0());
+ pushFollow(FOLLOW_ruleselector_in_rule__Selector__SelectorAssignment_1_1_1_17427);
+ ruleselector();
+
+ state._fsp--;
+
+ after(grammarAccess.getSelectorAccess().getSelectorSelectorParserRuleCall_1_1_1_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Selector__SelectorAssignment_1_1_1_1"
+
+
+ // $ANTLR start "rule__Simple_selector__ElementAssignment_0_0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3659:1: rule__Simple_selector__ElementAssignment_0_0 : ( ruleelement_name ) ;
+ public final void rule__Simple_selector__ElementAssignment_0_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3663:1: ( ( ruleelement_name ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3664:1: ( ruleelement_name )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3664:1: ( ruleelement_name )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3665:1: ruleelement_name
+ {
+ before(grammarAccess.getSimple_selectorAccess().getElementElement_nameParserRuleCall_0_0_0());
+ pushFollow(FOLLOW_ruleelement_name_in_rule__Simple_selector__ElementAssignment_0_07458);
+ ruleelement_name();
+
+ state._fsp--;
+
+ after(grammarAccess.getSimple_selectorAccess().getElementElement_nameParserRuleCall_0_0_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Simple_selector__ElementAssignment_0_0"
+
+
+ // $ANTLR start "rule__Simple_selector__IdAssignment_0_1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3674:1: rule__Simple_selector__IdAssignment_0_1 : ( rulecss_hash_class ) ;
+ public final void rule__Simple_selector__IdAssignment_0_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3678:1: ( ( rulecss_hash_class ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3679:1: ( rulecss_hash_class )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3679:1: ( rulecss_hash_class )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3680:1: rulecss_hash_class
+ {
+ before(grammarAccess.getSimple_selectorAccess().getIdCss_hash_classParserRuleCall_0_1_0());
+ pushFollow(FOLLOW_rulecss_hash_class_in_rule__Simple_selector__IdAssignment_0_17489);
+ rulecss_hash_class();
+
+ state._fsp--;
+
+ after(grammarAccess.getSimple_selectorAccess().getIdCss_hash_classParserRuleCall_0_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Simple_selector__IdAssignment_0_1"
+
+
+ // $ANTLR start "rule__Simple_selector__PseudoAssignment_0_2"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3689:1: rule__Simple_selector__PseudoAssignment_0_2 : ( rulepseudo ) ;
+ public final void rule__Simple_selector__PseudoAssignment_0_2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3693:1: ( ( rulepseudo ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3694:1: ( rulepseudo )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3694:1: ( rulepseudo )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3695:1: rulepseudo
+ {
+ before(grammarAccess.getSimple_selectorAccess().getPseudoPseudoParserRuleCall_0_2_0());
+ pushFollow(FOLLOW_rulepseudo_in_rule__Simple_selector__PseudoAssignment_0_27520);
+ rulepseudo();
+
+ state._fsp--;
+
+ after(grammarAccess.getSimple_selectorAccess().getPseudoPseudoParserRuleCall_0_2_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Simple_selector__PseudoAssignment_0_2"
+
+
+ // $ANTLR start "rule__Simple_selector__IdAssignment_1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3704:1: rule__Simple_selector__IdAssignment_1 : ( rulecss_hash_class ) ;
+ public final void rule__Simple_selector__IdAssignment_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3708:1: ( ( rulecss_hash_class ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3709:1: ( rulecss_hash_class )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3709:1: ( rulecss_hash_class )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3710:1: rulecss_hash_class
+ {
+ before(grammarAccess.getSimple_selectorAccess().getIdCss_hash_classParserRuleCall_1_0());
+ pushFollow(FOLLOW_rulecss_hash_class_in_rule__Simple_selector__IdAssignment_17551);
+ rulecss_hash_class();
+
+ state._fsp--;
+
+ after(grammarAccess.getSimple_selectorAccess().getIdCss_hash_classParserRuleCall_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Simple_selector__IdAssignment_1"
+
+
+ // $ANTLR start "rule__Pseudo__NameAssignment_0_1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3719:1: rule__Pseudo__NameAssignment_0_1 : ( RULE_IDENT ) ;
+ public final void rule__Pseudo__NameAssignment_0_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3723:1: ( ( RULE_IDENT ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3724:1: ( RULE_IDENT )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3724:1: ( RULE_IDENT )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3725:1: RULE_IDENT
+ {
+ before(grammarAccess.getPseudoAccess().getNameIdentTerminalRuleCall_0_1_0());
+ match(input,RULE_IDENT,FOLLOW_RULE_IDENT_in_rule__Pseudo__NameAssignment_0_17582);
+ after(grammarAccess.getPseudoAccess().getNameIdentTerminalRuleCall_0_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Pseudo__NameAssignment_0_1"
+
+
+ // $ANTLR start "rule__Pseudo__FunctionAssignment_1_0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3734:1: rule__Pseudo__FunctionAssignment_1_0 : ( rulefunction ) ;
+ public final void rule__Pseudo__FunctionAssignment_1_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3738:1: ( ( rulefunction ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3739:1: ( rulefunction )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3739:1: ( rulefunction )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3740:1: rulefunction
+ {
+ before(grammarAccess.getPseudoAccess().getFunctionFunctionParserRuleCall_1_0_0());
+ pushFollow(FOLLOW_rulefunction_in_rule__Pseudo__FunctionAssignment_1_07613);
+ rulefunction();
+
+ state._fsp--;
+
+ after(grammarAccess.getPseudoAccess().getFunctionFunctionParserRuleCall_1_0_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Pseudo__FunctionAssignment_1_0"
+
+
+ // $ANTLR start "rule__Pseudo__NameAssignment_1_1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3749:1: rule__Pseudo__NameAssignment_1_1 : ( RULE_IDENT ) ;
+ public final void rule__Pseudo__NameAssignment_1_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3753:1: ( ( RULE_IDENT ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3754:1: ( RULE_IDENT )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3754:1: ( RULE_IDENT )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3755:1: RULE_IDENT
+ {
+ before(grammarAccess.getPseudoAccess().getNameIdentTerminalRuleCall_1_1_0());
+ match(input,RULE_IDENT,FOLLOW_RULE_IDENT_in_rule__Pseudo__NameAssignment_1_17644);
+ after(grammarAccess.getPseudoAccess().getNameIdentTerminalRuleCall_1_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Pseudo__NameAssignment_1_1"
+
+
+ // $ANTLR start "rule__Element_name__NameAssignment_0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3764:1: rule__Element_name__NameAssignment_0 : ( RULE_IDENT ) ;
+ public final void rule__Element_name__NameAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3768:1: ( ( RULE_IDENT ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3769:1: ( RULE_IDENT )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3769:1: ( RULE_IDENT )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3770:1: RULE_IDENT
+ {
+ before(grammarAccess.getElement_nameAccess().getNameIdentTerminalRuleCall_0_0());
+ match(input,RULE_IDENT,FOLLOW_RULE_IDENT_in_rule__Element_name__NameAssignment_07675);
+ after(grammarAccess.getElement_nameAccess().getNameIdentTerminalRuleCall_0_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Element_name__NameAssignment_0"
+
+
+ // $ANTLR start "rule__Element_name__NameAssignment_1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3779:1: rule__Element_name__NameAssignment_1 : ( ( '*' ) ) ;
+ public final void rule__Element_name__NameAssignment_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3783:1: ( ( ( '*' ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3784:1: ( ( '*' ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3784:1: ( ( '*' ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3785:1: ( '*' )
+ {
+ before(grammarAccess.getElement_nameAccess().getNameAsteriskKeyword_1_0());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3786:1: ( '*' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3787:1: '*'
+ {
+ before(grammarAccess.getElement_nameAccess().getNameAsteriskKeyword_1_0());
+ match(input,45,FOLLOW_45_in_rule__Element_name__NameAssignment_17711);
+ after(grammarAccess.getElement_nameAccess().getNameAsteriskKeyword_1_0());
+
+ }
+
+ after(grammarAccess.getElement_nameAccess().getNameAsteriskKeyword_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Element_name__NameAssignment_1"
+
+
+ // $ANTLR start "rule__Declaration__PropertyAssignment_0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3802:1: rule__Declaration__PropertyAssignment_0 : ( RULE_IDENT ) ;
+ public final void rule__Declaration__PropertyAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3806:1: ( ( RULE_IDENT ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3807:1: ( RULE_IDENT )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3807:1: ( RULE_IDENT )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3808:1: RULE_IDENT
+ {
+ before(grammarAccess.getDeclarationAccess().getPropertyIdentTerminalRuleCall_0_0());
+ match(input,RULE_IDENT,FOLLOW_RULE_IDENT_in_rule__Declaration__PropertyAssignment_07750);
+ after(grammarAccess.getDeclarationAccess().getPropertyIdentTerminalRuleCall_0_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Declaration__PropertyAssignment_0"
+
+
+ // $ANTLR start "rule__Declaration__ExprAssignment_2"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3817:1: rule__Declaration__ExprAssignment_2 : ( ruleexpr ) ;
+ public final void rule__Declaration__ExprAssignment_2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3821:1: ( ( ruleexpr ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3822:1: ( ruleexpr )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3822:1: ( ruleexpr )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3823:1: ruleexpr
+ {
+ before(grammarAccess.getDeclarationAccess().getExprExprParserRuleCall_2_0());
+ pushFollow(FOLLOW_ruleexpr_in_rule__Declaration__ExprAssignment_27781);
+ ruleexpr();
+
+ state._fsp--;
+
+ after(grammarAccess.getDeclarationAccess().getExprExprParserRuleCall_2_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Declaration__ExprAssignment_2"
+
+
+ // $ANTLR start "rule__Declaration__PriorityAssignment_3"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3832:1: rule__Declaration__PriorityAssignment_3 : ( ( '!important' ) ) ;
+ public final void rule__Declaration__PriorityAssignment_3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3836:1: ( ( ( '!important' ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3837:1: ( ( '!important' ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3837:1: ( ( '!important' ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3838:1: ( '!important' )
+ {
+ before(grammarAccess.getDeclarationAccess().getPriorityImportantKeyword_3_0());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3839:1: ( '!important' )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3840:1: '!important'
+ {
+ before(grammarAccess.getDeclarationAccess().getPriorityImportantKeyword_3_0());
+ match(input,46,FOLLOW_46_in_rule__Declaration__PriorityAssignment_37817);
+ after(grammarAccess.getDeclarationAccess().getPriorityImportantKeyword_3_0());
+
+ }
+
+ after(grammarAccess.getDeclarationAccess().getPriorityImportantKeyword_3_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Declaration__PriorityAssignment_3"
+
+
+ // $ANTLR start "rule__Expr__TermAssignment_0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3855:1: rule__Expr__TermAssignment_0 : ( ruleterm ) ;
+ public final void rule__Expr__TermAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3859:1: ( ( ruleterm ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3860:1: ( ruleterm )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3860:1: ( ruleterm )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3861:1: ruleterm
+ {
+ before(grammarAccess.getExprAccess().getTermTermParserRuleCall_0_0());
+ pushFollow(FOLLOW_ruleterm_in_rule__Expr__TermAssignment_07856);
+ ruleterm();
+
+ state._fsp--;
+
+ after(grammarAccess.getExprAccess().getTermTermParserRuleCall_0_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Expr__TermAssignment_0"
+
+
+ // $ANTLR start "rule__Expr__OperatorsAssignment_1_0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3870:1: rule__Expr__OperatorsAssignment_1_0 : ( ( rule__Expr__OperatorsAlternatives_1_0_0 ) ) ;
+ public final void rule__Expr__OperatorsAssignment_1_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3874:1: ( ( ( rule__Expr__OperatorsAlternatives_1_0_0 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3875:1: ( ( rule__Expr__OperatorsAlternatives_1_0_0 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3875:1: ( ( rule__Expr__OperatorsAlternatives_1_0_0 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3876:1: ( rule__Expr__OperatorsAlternatives_1_0_0 )
+ {
+ before(grammarAccess.getExprAccess().getOperatorsAlternatives_1_0_0());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3877:1: ( rule__Expr__OperatorsAlternatives_1_0_0 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3877:2: rule__Expr__OperatorsAlternatives_1_0_0
+ {
+ pushFollow(FOLLOW_rule__Expr__OperatorsAlternatives_1_0_0_in_rule__Expr__OperatorsAssignment_1_07887);
+ rule__Expr__OperatorsAlternatives_1_0_0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getExprAccess().getOperatorsAlternatives_1_0_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Expr__OperatorsAssignment_1_0"
+
+
+ // $ANTLR start "rule__Expr__TermAssignment_1_1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3886:1: rule__Expr__TermAssignment_1_1 : ( ruleterm ) ;
+ public final void rule__Expr__TermAssignment_1_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3890:1: ( ( ruleterm ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3891:1: ( ruleterm )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3891:1: ( ruleterm )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3892:1: ruleterm
+ {
+ before(grammarAccess.getExprAccess().getTermTermParserRuleCall_1_1_0());
+ pushFollow(FOLLOW_ruleterm_in_rule__Expr__TermAssignment_1_17920);
+ ruleterm();
+
+ state._fsp--;
+
+ after(grammarAccess.getExprAccess().getTermTermParserRuleCall_1_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Expr__TermAssignment_1_1"
+
+
+ // $ANTLR start "rule__Term__UnaryAssignment_0_0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3901:1: rule__Term__UnaryAssignment_0_0 : ( ruleunary_operator ) ;
+ public final void rule__Term__UnaryAssignment_0_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3905:1: ( ( ruleunary_operator ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3906:1: ( ruleunary_operator )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3906:1: ( ruleunary_operator )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3907:1: ruleunary_operator
+ {
+ before(grammarAccess.getTermAccess().getUnaryUnary_operatorParserRuleCall_0_0_0());
+ pushFollow(FOLLOW_ruleunary_operator_in_rule__Term__UnaryAssignment_0_07951);
+ ruleunary_operator();
+
+ state._fsp--;
+
+ after(grammarAccess.getTermAccess().getUnaryUnary_operatorParserRuleCall_0_0_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Term__UnaryAssignment_0_0"
+
+
+ // $ANTLR start "rule__Term__NumberAssignment_0_1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3916:1: rule__Term__NumberAssignment_0_1 : ( ruleunary_numbers ) ;
+ public final void rule__Term__NumberAssignment_0_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3920:1: ( ( ruleunary_numbers ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3921:1: ( ruleunary_numbers )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3921:1: ( ruleunary_numbers )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3922:1: ruleunary_numbers
+ {
+ before(grammarAccess.getTermAccess().getNumberUnary_numbersParserRuleCall_0_1_0());
+ pushFollow(FOLLOW_ruleunary_numbers_in_rule__Term__NumberAssignment_0_17982);
+ ruleunary_numbers();
+
+ state._fsp--;
+
+ after(grammarAccess.getTermAccess().getNumberUnary_numbersParserRuleCall_0_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Term__NumberAssignment_0_1"
+
+
+ // $ANTLR start "rule__Term__NameAssignment_1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3931:1: rule__Term__NameAssignment_1 : ( RULE_STRING ) ;
+ public final void rule__Term__NameAssignment_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3935:1: ( ( RULE_STRING ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3936:1: ( RULE_STRING )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3936:1: ( RULE_STRING )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3937:1: RULE_STRING
+ {
+ before(grammarAccess.getTermAccess().getNameSTRINGTerminalRuleCall_1_0());
+ match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__Term__NameAssignment_18013);
+ after(grammarAccess.getTermAccess().getNameSTRINGTerminalRuleCall_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Term__NameAssignment_1"
+
+
+ // $ANTLR start "rule__Term__IdAssignment_2"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3946:1: rule__Term__IdAssignment_2 : ( RULE_IDENT ) ;
+ public final void rule__Term__IdAssignment_2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3950:1: ( ( RULE_IDENT ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3951:1: ( RULE_IDENT )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3951:1: ( RULE_IDENT )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3952:1: RULE_IDENT
+ {
+ before(grammarAccess.getTermAccess().getIdIdentTerminalRuleCall_2_0());
+ match(input,RULE_IDENT,FOLLOW_RULE_IDENT_in_rule__Term__IdAssignment_28044);
+ after(grammarAccess.getTermAccess().getIdIdentTerminalRuleCall_2_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Term__IdAssignment_2"
+
+
+ // $ANTLR start "rule__Term__UriAssignment_3"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3961:1: rule__Term__UriAssignment_3 : ( ruleURI ) ;
+ public final void rule__Term__UriAssignment_3() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3965:1: ( ( ruleURI ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3966:1: ( ruleURI )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3966:1: ( ruleURI )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3967:1: ruleURI
+ {
+ before(grammarAccess.getTermAccess().getUriURIParserRuleCall_3_0());
+ pushFollow(FOLLOW_ruleURI_in_rule__Term__UriAssignment_38075);
+ ruleURI();
+
+ state._fsp--;
+
+ after(grammarAccess.getTermAccess().getUriURIParserRuleCall_3_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Term__UriAssignment_3"
+
+
+ // $ANTLR start "rule__Term__ColorAssignment_4"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3976:1: rule__Term__ColorAssignment_4 : ( RULE_HEXDIGITS ) ;
+ public final void rule__Term__ColorAssignment_4() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3980:1: ( ( RULE_HEXDIGITS ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3981:1: ( RULE_HEXDIGITS )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3981:1: ( RULE_HEXDIGITS )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3982:1: RULE_HEXDIGITS
+ {
+ before(grammarAccess.getTermAccess().getColorHexdigitsTerminalRuleCall_4_0());
+ match(input,RULE_HEXDIGITS,FOLLOW_RULE_HEXDIGITS_in_rule__Term__ColorAssignment_48106);
+ after(grammarAccess.getTermAccess().getColorHexdigitsTerminalRuleCall_4_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Term__ColorAssignment_4"
+
+
+ // $ANTLR start "rule__Term__FunctionAssignment_5"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3991:1: rule__Term__FunctionAssignment_5 : ( rulefunction ) ;
+ public final void rule__Term__FunctionAssignment_5() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3995:1: ( ( rulefunction ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3996:1: ( rulefunction )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3996:1: ( rulefunction )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:3997:1: rulefunction
+ {
+ before(grammarAccess.getTermAccess().getFunctionFunctionParserRuleCall_5_0());
+ pushFollow(FOLLOW_rulefunction_in_rule__Term__FunctionAssignment_58137);
+ rulefunction();
+
+ state._fsp--;
+
+ after(grammarAccess.getTermAccess().getFunctionFunctionParserRuleCall_5_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Term__FunctionAssignment_5"
+
+
+ // $ANTLR start "rule__Function__NameAssignment_0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4006:1: rule__Function__NameAssignment_0 : ( RULE_IDENT ) ;
+ public final void rule__Function__NameAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4010:1: ( ( RULE_IDENT ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4011:1: ( RULE_IDENT )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4011:1: ( RULE_IDENT )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4012:1: RULE_IDENT
+ {
+ before(grammarAccess.getFunctionAccess().getNameIdentTerminalRuleCall_0_0());
+ match(input,RULE_IDENT,FOLLOW_RULE_IDENT_in_rule__Function__NameAssignment_08168);
+ after(grammarAccess.getFunctionAccess().getNameIdentTerminalRuleCall_0_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Function__NameAssignment_0"
+
+
+ // $ANTLR start "rule__Function__ExprAssignment_2"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4021:1: rule__Function__ExprAssignment_2 : ( ruleexpr ) ;
+ public final void rule__Function__ExprAssignment_2() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4025:1: ( ( ruleexpr ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4026:1: ( ruleexpr )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4026:1: ( ruleexpr )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4027:1: ruleexpr
+ {
+ before(grammarAccess.getFunctionAccess().getExprExprParserRuleCall_2_0());
+ pushFollow(FOLLOW_ruleexpr_in_rule__Function__ExprAssignment_28199);
+ ruleexpr();
+
+ state._fsp--;
+
+ after(grammarAccess.getFunctionAccess().getExprExprParserRuleCall_2_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Function__ExprAssignment_2"
+
+
+ // $ANTLR start "rule__URI__NameAssignment_3_0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4036:1: rule__URI__NameAssignment_3_0 : ( RULE_STRING ) ;
+ public final void rule__URI__NameAssignment_3_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4040:1: ( ( RULE_STRING ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4041:1: ( RULE_STRING )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4041:1: ( RULE_STRING )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4042:1: RULE_STRING
+ {
+ before(grammarAccess.getURIAccess().getNameSTRINGTerminalRuleCall_3_0_0());
+ match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rule__URI__NameAssignment_3_08230);
+ after(grammarAccess.getURIAccess().getNameSTRINGTerminalRuleCall_3_0_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__URI__NameAssignment_3_0"
+
+
+ // $ANTLR start "rule__URI__IdAssignment_3_1_1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4051:1: rule__URI__IdAssignment_3_1_1 : ( RULE_IDENT ) ;
+ public final void rule__URI__IdAssignment_3_1_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4055:1: ( ( RULE_IDENT ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4056:1: ( RULE_IDENT )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4056:1: ( RULE_IDENT )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4057:1: RULE_IDENT
+ {
+ before(grammarAccess.getURIAccess().getIdIdentTerminalRuleCall_3_1_1_0());
+ match(input,RULE_IDENT,FOLLOW_RULE_IDENT_in_rule__URI__IdAssignment_3_1_18261);
+ after(grammarAccess.getURIAccess().getIdIdentTerminalRuleCall_3_1_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__URI__IdAssignment_3_1_1"
+
+
+ // $ANTLR start "rule__URI__IdAssignment_4_1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4066:1: rule__URI__IdAssignment_4_1 : ( RULE_IDENT ) ;
+ public final void rule__URI__IdAssignment_4_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4070:1: ( ( RULE_IDENT ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4071:1: ( RULE_IDENT )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4071:1: ( RULE_IDENT )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4072:1: RULE_IDENT
+ {
+ before(grammarAccess.getURIAccess().getIdIdentTerminalRuleCall_4_1_0());
+ match(input,RULE_IDENT,FOLLOW_RULE_IDENT_in_rule__URI__IdAssignment_4_18292);
+ after(grammarAccess.getURIAccess().getIdIdentTerminalRuleCall_4_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__URI__IdAssignment_4_1"
+
+
+ // $ANTLR start "rule__Css_hash_class__TypeAssignment_0"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4081:1: rule__Css_hash_class__TypeAssignment_0 : ( ( rule__Css_hash_class__TypeAlternatives_0_0 ) ) ;
+ public final void rule__Css_hash_class__TypeAssignment_0() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4085:1: ( ( ( rule__Css_hash_class__TypeAlternatives_0_0 ) ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4086:1: ( ( rule__Css_hash_class__TypeAlternatives_0_0 ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4086:1: ( ( rule__Css_hash_class__TypeAlternatives_0_0 ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4087:1: ( rule__Css_hash_class__TypeAlternatives_0_0 )
+ {
+ before(grammarAccess.getCss_hash_classAccess().getTypeAlternatives_0_0());
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4088:1: ( rule__Css_hash_class__TypeAlternatives_0_0 )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4088:2: rule__Css_hash_class__TypeAlternatives_0_0
+ {
+ pushFollow(FOLLOW_rule__Css_hash_class__TypeAlternatives_0_0_in_rule__Css_hash_class__TypeAssignment_08323);
+ rule__Css_hash_class__TypeAlternatives_0_0();
+
+ state._fsp--;
+
+
+ }
+
+ after(grammarAccess.getCss_hash_classAccess().getTypeAlternatives_0_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Css_hash_class__TypeAssignment_0"
+
+
+ // $ANTLR start "rule__Css_hash_class__NameAssignment_1"
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4097:1: rule__Css_hash_class__NameAssignment_1 : ( RULE_IDENT ) ;
+ public final void rule__Css_hash_class__NameAssignment_1() throws RecognitionException {
+
+ int stackSize = keepStackSize();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4101:1: ( ( RULE_IDENT ) )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4102:1: ( RULE_IDENT )
+ {
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4102:1: ( RULE_IDENT )
+ // ../org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/contentassist/antlr/internal/InternalCSS.g:4103:1: RULE_IDENT
+ {
+ before(grammarAccess.getCss_hash_classAccess().getNameIdentTerminalRuleCall_1_0());
+ match(input,RULE_IDENT,FOLLOW_RULE_IDENT_in_rule__Css_hash_class__NameAssignment_18356);
+ after(grammarAccess.getCss_hash_classAccess().getNameIdentTerminalRuleCall_1_0());
+
+ }
+
+
+ }
+
+ }
+ catch (RecognitionException re) {
+ reportError(re);
+ recover(input,re);
+ }
+ finally {
+
+ restoreStackSize(stackSize);
+
+ }
+ return ;
+ }
+ // $ANTLR end "rule__Css_hash_class__NameAssignment_1"
+
+ // Delegated rules
+
+
+ protected DFA11 dfa11 = new DFA11(this);
+ static final String DFA11_eotS =
+ "\12\uffff";
+ static final String DFA11_eofS =
+ "\1\uffff\1\5\10\uffff";
+ static final String DFA11_minS =
+ "\2\4\10\uffff";
+ static final String DFA11_maxS =
+ "\1\4\1\56\10\uffff";
+ static final String DFA11_acceptS =
+ "\2\uffff\1\5\1\7\1\3\1\1\1\6\1\4\1\2\1\10";
+ static final String DFA11_specialS =
+ "\12\uffff}>";
+ static final String[] DFA11_transitionS = {
+ "\1\1",
+ "\1\5\1\uffff\3\5\4\uffff\2\5\1\uffff\6\4\3\6\2\3\2\11\2\uffff"+
+ "\1\5\1\uffff\1\5\1\uffff\2\5\3\uffff\2\5\1\10\1\7\1\2\1\uffff"+
+ "\1\5",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ ""
+ };
+
+ static final short[] DFA11_eot = DFA.unpackEncodedString(DFA11_eotS);
+ static final short[] DFA11_eof = DFA.unpackEncodedString(DFA11_eofS);
+ static final char[] DFA11_min = DFA.unpackEncodedStringToUnsignedChars(DFA11_minS);
+ static final char[] DFA11_max = DFA.unpackEncodedStringToUnsignedChars(DFA11_maxS);
+ static final short[] DFA11_accept = DFA.unpackEncodedString(DFA11_acceptS);
+ static final short[] DFA11_special = DFA.unpackEncodedString(DFA11_specialS);
+ static final short[][] DFA11_transition;
+
+ static {
+ int numStates = DFA11_transitionS.length;
+ DFA11_transition = new short[numStates][];
+ for (int i=0; i<numStates; i++) {
+ DFA11_transition[i] = DFA.unpackEncodedString(DFA11_transitionS[i]);
+ }
+ }
+
+ class DFA11 extends DFA {
+
+ public DFA11(BaseRecognizer recognizer) {
+ this.recognizer = recognizer;
+ this.decisionNumber = 11;
+ this.eot = DFA11_eot;
+ this.eof = DFA11_eof;
+ this.min = DFA11_min;
+ this.max = DFA11_max;
+ this.accept = DFA11_accept;
+ this.special = DFA11_special;
+ this.transition = DFA11_transition;
+ }
+ public String getDescription() {
+ return "965:1: rule__Unary_numbers__Alternatives : ( ( RULE_INT ) | ( rulePERCENTAGE ) | ( ruleLENGTH ) | ( ruleEMS ) | ( ruleEXS ) | ( ruleANGLE ) | ( ruleTIME ) | ( ruleFREQ ) );";
+ }
+ }
+
+
+ public static final BitSet FOLLOW_rulestylesheet_in_entryRulestylesheet61 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulestylesheet68 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Stylesheet__Group__0_in_rulestylesheet94 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleRules_in_entryRuleRules121 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleRules128 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Rules__Group__0_in_ruleRules154 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulecss_import_in_entryRulecss_import181 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulecss_import188 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Css_import__Group__0_in_rulecss_import214 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleselector_in_entryRuleselector246 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleselector253 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Selector__Group__0_in_ruleselector283 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulesimple_selector_in_entryRulesimple_selector310 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulesimple_selector317 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Simple_selector__Alternatives_in_rulesimple_selector343 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulepseudo_in_entryRulepseudo370 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulepseudo377 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Pseudo__Alternatives_in_rulepseudo403 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleelement_name_in_entryRuleelement_name430 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleelement_name437 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Element_name__Alternatives_in_ruleelement_name463 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruledeclaration_in_entryRuledeclaration490 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuledeclaration497 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Declaration__Group__0_in_ruledeclaration523 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleexpr_in_entryRuleexpr550 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleexpr557 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Expr__Group__0_in_ruleexpr583 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleterm_in_entryRuleterm610 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleterm617 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Term__Alternatives_in_ruleterm643 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulefunction_in_entryRulefunction670 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulefunction677 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Function__Group__0_in_rulefunction703 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleURI_in_entryRuleURI730 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleURI737 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__URI__Group__0_in_ruleURI763 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleunary_numbers_in_entryRuleunary_numbers790 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleunary_numbers797 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Unary_numbers__Alternatives_in_ruleunary_numbers823 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePERCENTAGE_in_entryRulePERCENTAGE850 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulePERCENTAGE857 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PERCENTAGE__Group__0_in_rulePERCENTAGE883 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleEMS_in_entryRuleEMS910 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleEMS917 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__EMS__Group__0_in_ruleEMS943 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleEXS_in_entryRuleEXS970 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleEXS977 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__EXS__Group__0_in_ruleEXS1003 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleLENGTH_in_entryRuleLENGTH1035 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleLENGTH1042 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__LENGTH__Group__0_in_ruleLENGTH1072 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleANGLE_in_entryRuleANGLE1099 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleANGLE1106 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ANGLE__Group__0_in_ruleANGLE1132 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTIME_in_entryRuleTIME1159 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTIME1166 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TIME__Group__0_in_ruleTIME1192 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleFREQ_in_entryRuleFREQ1219 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleFREQ1226 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__FREQ__Group__0_in_ruleFREQ1252 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulecss_hash_class_in_entryRulecss_hash_class1279 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulecss_hash_class1286 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Css_hash_class__Group__0_in_rulecss_hash_class1312 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulecombinator_in_entryRulecombinator1344 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulecombinator1351 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Combinator__Alternatives_in_rulecombinator1381 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleunary_operator_in_entryRuleunary_operator1408 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleunary_operator1415 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Unary_operator__Alternatives_in_ruleunary_operator1441 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Css_import__String_nameAssignment_1_0_in_rule__Css_import__Alternatives_11477 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleURI_in_rule__Css_import__Alternatives_11495 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Selector__Group_1_0__0_in_rule__Selector__Alternatives_11527 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Selector__Group_1_1__0_in_rule__Selector__Alternatives_11545 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Simple_selector__Group_0__0_in_rule__Simple_selector__Alternatives1578 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Simple_selector__IdAssignment_1_in_rule__Simple_selector__Alternatives1598 = new BitSet(new long[]{0x0000000060000002L});
+ public static final BitSet FOLLOW_rule__Simple_selector__IdAssignment_1_in_rule__Simple_selector__Alternatives1610 = new BitSet(new long[]{0x0000000060000002L});
+ public static final BitSet FOLLOW_rule__Pseudo__Group_0__0_in_rule__Pseudo__Alternatives1646 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Pseudo__Group_1__0_in_rule__Pseudo__Alternatives1664 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Element_name__NameAssignment_0_in_rule__Element_name__Alternatives1697 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Element_name__NameAssignment_1_in_rule__Element_name__Alternatives1715 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_13_in_rule__Expr__OperatorsAlternatives_1_0_01749 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_14_in_rule__Expr__OperatorsAlternatives_1_0_01769 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Term__Group_0__0_in_rule__Term__Alternatives1803 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Term__NameAssignment_1_in_rule__Term__Alternatives1821 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Term__IdAssignment_2_in_rule__Term__Alternatives1839 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Term__UriAssignment_3_in_rule__Term__Alternatives1857 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Term__ColorAssignment_4_in_rule__Term__Alternatives1875 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Term__FunctionAssignment_5_in_rule__Term__Alternatives1893 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__URI__NameAssignment_3_0_in_rule__URI__Alternatives_31926 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__URI__Group_3_1__0_in_rule__URI__Alternatives_31944 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_15_in_rule__URI__Alternatives_3_1_01978 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_13_in_rule__URI__Alternatives_3_1_01998 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_INT_in_rule__Unary_numbers__Alternatives2032 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePERCENTAGE_in_rule__Unary_numbers__Alternatives2049 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleLENGTH_in_rule__Unary_numbers__Alternatives2066 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleEMS_in_rule__Unary_numbers__Alternatives2083 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleEXS_in_rule__Unary_numbers__Alternatives2100 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleANGLE_in_rule__Unary_numbers__Alternatives2117 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTIME_in_rule__Unary_numbers__Alternatives2134 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleFREQ_in_rule__Unary_numbers__Alternatives2151 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_16_in_rule__LENGTH__Alternatives_12184 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_17_in_rule__LENGTH__Alternatives_12204 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_18_in_rule__LENGTH__Alternatives_12224 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_19_in_rule__LENGTH__Alternatives_12244 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_20_in_rule__LENGTH__Alternatives_12264 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_21_in_rule__LENGTH__Alternatives_12284 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_22_in_rule__ANGLE__Alternatives_12319 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_23_in_rule__ANGLE__Alternatives_12339 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_24_in_rule__ANGLE__Alternatives_12359 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_25_in_rule__TIME__Alternatives_12394 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_26_in_rule__TIME__Alternatives_12414 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_27_in_rule__FREQ__Alternatives_12449 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_28_in_rule__FREQ__Alternatives_12469 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_29_in_rule__Css_hash_class__TypeAlternatives_0_02504 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_30_in_rule__Css_hash_class__TypeAlternatives_0_02524 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_31_in_rule__Combinator__Alternatives2559 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_32_in_rule__Combinator__Alternatives2579 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_33_in_rule__Unary_operator__Alternatives2614 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_31_in_rule__Unary_operator__Alternatives2634 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Stylesheet__Group__0__Impl_in_rule__Stylesheet__Group__02666 = new BitSet(new long[]{0x0000202060000080L});
+ public static final BitSet FOLLOW_rule__Stylesheet__Group__1_in_rule__Stylesheet__Group__02669 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Stylesheet__LocationAssignment_0_in_rule__Stylesheet__Group__0__Impl2696 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Stylesheet__Group__1__Impl_in_rule__Stylesheet__Group__12727 = new BitSet(new long[]{0x0000202060000080L});
+ public static final BitSet FOLLOW_rule__Stylesheet__Group__2_in_rule__Stylesheet__Group__12730 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Stylesheet__ImportNameAssignment_1_in_rule__Stylesheet__Group__1__Impl2757 = new BitSet(new long[]{0x0000002000000002L});
+ public static final BitSet FOLLOW_rule__Stylesheet__Group__2__Impl_in_rule__Stylesheet__Group__22788 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Stylesheet__RulesetAssignment_2_in_rule__Stylesheet__Group__2__Impl2815 = new BitSet(new long[]{0x0000200060000082L});
+ public static final BitSet FOLLOW_rule__Rules__Group__0__Impl_in_rule__Rules__Group__02852 = new BitSet(new long[]{0x0000000400004000L});
+ public static final BitSet FOLLOW_rule__Rules__Group__1_in_rule__Rules__Group__02855 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Rules__SelectorsAssignment_0_in_rule__Rules__Group__0__Impl2882 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Rules__Group__1__Impl_in_rule__Rules__Group__12912 = new BitSet(new long[]{0x0000000400004000L});
+ public static final BitSet FOLLOW_rule__Rules__Group__2_in_rule__Rules__Group__12915 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Rules__Group_1__0_in_rule__Rules__Group__1__Impl2942 = new BitSet(new long[]{0x0000000000004002L});
+ public static final BitSet FOLLOW_rule__Rules__Group__2__Impl_in_rule__Rules__Group__22973 = new BitSet(new long[]{0x0000001800000080L});
+ public static final BitSet FOLLOW_rule__Rules__Group__3_in_rule__Rules__Group__22976 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_34_in_rule__Rules__Group__2__Impl3004 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Rules__Group__3__Impl_in_rule__Rules__Group__33035 = new BitSet(new long[]{0x0000001800000080L});
+ public static final BitSet FOLLOW_rule__Rules__Group__4_in_rule__Rules__Group__33038 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Rules__DeclarationsAssignment_3_in_rule__Rules__Group__3__Impl3065 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Rules__Group__4__Impl_in_rule__Rules__Group__43096 = new BitSet(new long[]{0x0000001800000080L});
+ public static final BitSet FOLLOW_rule__Rules__Group__5_in_rule__Rules__Group__43099 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Rules__Group_4__0_in_rule__Rules__Group__4__Impl3126 = new BitSet(new long[]{0x0000001000000002L});
+ public static final BitSet FOLLOW_rule__Rules__Group__5__Impl_in_rule__Rules__Group__53157 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_35_in_rule__Rules__Group__5__Impl3185 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Rules__Group_1__0__Impl_in_rule__Rules__Group_1__03228 = new BitSet(new long[]{0x0000200060000080L});
+ public static final BitSet FOLLOW_rule__Rules__Group_1__1_in_rule__Rules__Group_1__03231 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_14_in_rule__Rules__Group_1__0__Impl3259 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Rules__Group_1__1__Impl_in_rule__Rules__Group_1__13290 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Rules__SelectorsAssignment_1_1_in_rule__Rules__Group_1__1__Impl3317 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Rules__Group_4__0__Impl_in_rule__Rules__Group_4__03351 = new BitSet(new long[]{0x0000000000000080L});
+ public static final BitSet FOLLOW_rule__Rules__Group_4__1_in_rule__Rules__Group_4__03354 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_36_in_rule__Rules__Group_4__0__Impl3382 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Rules__Group_4__1__Impl_in_rule__Rules__Group_4__13413 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Rules__DeclarationsAssignment_4_1_in_rule__Rules__Group_4__1__Impl3440 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Css_import__Group__0__Impl_in_rule__Css_import__Group__03475 = new BitSet(new long[]{0x0000020000000040L});
+ public static final BitSet FOLLOW_rule__Css_import__Group__1_in_rule__Css_import__Group__03478 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_37_in_rule__Css_import__Group__0__Impl3506 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Css_import__Group__1__Impl_in_rule__Css_import__Group__13537 = new BitSet(new long[]{0x0000001000000000L});
+ public static final BitSet FOLLOW_rule__Css_import__Group__2_in_rule__Css_import__Group__13540 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Css_import__Alternatives_1_in_rule__Css_import__Group__1__Impl3567 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Css_import__Group__2__Impl_in_rule__Css_import__Group__23597 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_36_in_rule__Css_import__Group__2__Impl3625 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Selector__Group__0__Impl_in_rule__Selector__Group__03662 = new BitSet(new long[]{0x0000000180000020L});
+ public static final BitSet FOLLOW_rule__Selector__Group__1_in_rule__Selector__Group__03665 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Selector__SimpleselectorsAssignment_0_in_rule__Selector__Group__0__Impl3692 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Selector__Group__1__Impl_in_rule__Selector__Group__13722 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Selector__Alternatives_1_in_rule__Selector__Group__1__Impl3749 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Selector__Group_1_0__0__Impl_in_rule__Selector__Group_1_0__03784 = new BitSet(new long[]{0x0000200060000080L});
+ public static final BitSet FOLLOW_rule__Selector__Group_1_0__1_in_rule__Selector__Group_1_0__03787 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Selector__CombinatorAssignment_1_0_0_in_rule__Selector__Group_1_0__0__Impl3814 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Selector__Group_1_0__1__Impl_in_rule__Selector__Group_1_0__13844 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Selector__SelectorAssignment_1_0_1_in_rule__Selector__Group_1_0__1__Impl3871 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Selector__Group_1_1__0__Impl_in_rule__Selector__Group_1_1__03905 = new BitSet(new long[]{0x00002001E0000080L});
+ public static final BitSet FOLLOW_rule__Selector__Group_1_1__1_in_rule__Selector__Group_1_1__03908 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_WS_in_rule__Selector__Group_1_1__0__Impl3938 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_RULE_WS_in_rule__Selector__Group_1_1__0__Impl3951 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_rule__Selector__Group_1_1__1__Impl_in_rule__Selector__Group_1_1__13984 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Selector__Group_1_1_1__0_in_rule__Selector__Group_1_1__1__Impl4011 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Selector__Group_1_1_1__0__Impl_in_rule__Selector__Group_1_1_1__04046 = new BitSet(new long[]{0x00002001E0000080L});
+ public static final BitSet FOLLOW_rule__Selector__Group_1_1_1__1_in_rule__Selector__Group_1_1_1__04049 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Selector__CombinatorAssignment_1_1_1_0_in_rule__Selector__Group_1_1_1__0__Impl4076 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Selector__Group_1_1_1__1__Impl_in_rule__Selector__Group_1_1_1__14107 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Selector__SelectorAssignment_1_1_1_1_in_rule__Selector__Group_1_1_1__1__Impl4134 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Simple_selector__Group_0__0__Impl_in_rule__Simple_selector__Group_0__04168 = new BitSet(new long[]{0x0000004060000080L});
+ public static final BitSet FOLLOW_rule__Simple_selector__Group_0__1_in_rule__Simple_selector__Group_0__04171 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Simple_selector__ElementAssignment_0_0_in_rule__Simple_selector__Group_0__0__Impl4198 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Simple_selector__Group_0__1__Impl_in_rule__Simple_selector__Group_0__14228 = new BitSet(new long[]{0x0000004060000080L});
+ public static final BitSet FOLLOW_rule__Simple_selector__Group_0__2_in_rule__Simple_selector__Group_0__14231 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Simple_selector__IdAssignment_0_1_in_rule__Simple_selector__Group_0__1__Impl4258 = new BitSet(new long[]{0x0000000060000002L});
+ public static final BitSet FOLLOW_rule__Simple_selector__Group_0__2__Impl_in_rule__Simple_selector__Group_0__24289 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Simple_selector__PseudoAssignment_0_2_in_rule__Simple_selector__Group_0__2__Impl4316 = new BitSet(new long[]{0x0000004000000082L});
+ public static final BitSet FOLLOW_rule__Pseudo__Group_0__0__Impl_in_rule__Pseudo__Group_0__04353 = new BitSet(new long[]{0x0000000000000080L});
+ public static final BitSet FOLLOW_rule__Pseudo__Group_0__1_in_rule__Pseudo__Group_0__04356 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_38_in_rule__Pseudo__Group_0__0__Impl4384 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Pseudo__Group_0__1__Impl_in_rule__Pseudo__Group_0__14415 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Pseudo__NameAssignment_0_1_in_rule__Pseudo__Group_0__1__Impl4442 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Pseudo__Group_1__0__Impl_in_rule__Pseudo__Group_1__04476 = new BitSet(new long[]{0x0000000000000080L});
+ public static final BitSet FOLLOW_rule__Pseudo__Group_1__1_in_rule__Pseudo__Group_1__04479 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Pseudo__FunctionAssignment_1_0_in_rule__Pseudo__Group_1__0__Impl4506 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Pseudo__Group_1__1__Impl_in_rule__Pseudo__Group_1__14536 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Pseudo__NameAssignment_1_1_in_rule__Pseudo__Group_1__1__Impl4563 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Declaration__Group__0__Impl_in_rule__Declaration__Group__04598 = new BitSet(new long[]{0x0000004000000000L});
+ public static final BitSet FOLLOW_rule__Declaration__Group__1_in_rule__Declaration__Group__04601 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Declaration__PropertyAssignment_0_in_rule__Declaration__Group__0__Impl4628 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Declaration__Group__1__Impl_in_rule__Declaration__Group__14658 = new BitSet(new long[]{0x00000242800001D0L});
+ public static final BitSet FOLLOW_rule__Declaration__Group__2_in_rule__Declaration__Group__14661 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_38_in_rule__Declaration__Group__1__Impl4689 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Declaration__Group__2__Impl_in_rule__Declaration__Group__24720 = new BitSet(new long[]{0x0000400000000000L});
+ public static final BitSet FOLLOW_rule__Declaration__Group__3_in_rule__Declaration__Group__24723 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Declaration__ExprAssignment_2_in_rule__Declaration__Group__2__Impl4750 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Declaration__Group__3__Impl_in_rule__Declaration__Group__34780 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Declaration__PriorityAssignment_3_in_rule__Declaration__Group__3__Impl4807 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Expr__Group__0__Impl_in_rule__Expr__Group__04846 = new BitSet(new long[]{0x00000242800061D0L});
+ public static final BitSet FOLLOW_rule__Expr__Group__1_in_rule__Expr__Group__04849 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Expr__TermAssignment_0_in_rule__Expr__Group__0__Impl4876 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Expr__Group__1__Impl_in_rule__Expr__Group__14906 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Expr__Group_1__0_in_rule__Expr__Group__1__Impl4933 = new BitSet(new long[]{0x00000242800061D2L});
+ public static final BitSet FOLLOW_rule__Expr__Group_1__0__Impl_in_rule__Expr__Group_1__04968 = new BitSet(new long[]{0x00000242800061D0L});
+ public static final BitSet FOLLOW_rule__Expr__Group_1__1_in_rule__Expr__Group_1__04971 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Expr__OperatorsAssignment_1_0_in_rule__Expr__Group_1__0__Impl4998 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Expr__Group_1__1__Impl_in_rule__Expr__Group_1__15029 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Expr__TermAssignment_1_1_in_rule__Expr__Group_1__1__Impl5056 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Term__Group_0__0__Impl_in_rule__Term__Group_0__05090 = new BitSet(new long[]{0x0000000280000010L});
+ public static final BitSet FOLLOW_rule__Term__Group_0__1_in_rule__Term__Group_0__05093 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Term__UnaryAssignment_0_0_in_rule__Term__Group_0__0__Impl5120 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Term__Group_0__1__Impl_in_rule__Term__Group_0__15151 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Term__NumberAssignment_0_1_in_rule__Term__Group_0__1__Impl5178 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Function__Group__0__Impl_in_rule__Function__Group__05212 = new BitSet(new long[]{0x0000008000000000L});
+ public static final BitSet FOLLOW_rule__Function__Group__1_in_rule__Function__Group__05215 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Function__NameAssignment_0_in_rule__Function__Group__0__Impl5242 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Function__Group__1__Impl_in_rule__Function__Group__15272 = new BitSet(new long[]{0x00000242800001D0L});
+ public static final BitSet FOLLOW_rule__Function__Group__2_in_rule__Function__Group__15275 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_39_in_rule__Function__Group__1__Impl5303 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Function__Group__2__Impl_in_rule__Function__Group__25334 = new BitSet(new long[]{0x0000010000000000L});
+ public static final BitSet FOLLOW_rule__Function__Group__3_in_rule__Function__Group__25337 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Function__ExprAssignment_2_in_rule__Function__Group__2__Impl5364 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Function__Group__3__Impl_in_rule__Function__Group__35394 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_40_in_rule__Function__Group__3__Impl5422 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__URI__Group__0__Impl_in_rule__URI__Group__05461 = new BitSet(new long[]{0x0000008000000000L});
+ public static final BitSet FOLLOW_rule__URI__Group__1_in_rule__URI__Group__05464 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_41_in_rule__URI__Group__0__Impl5492 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__URI__Group__1__Impl_in_rule__URI__Group__15523 = new BitSet(new long[]{0x000001004000A040L});
+ public static final BitSet FOLLOW_rule__URI__Group__2_in_rule__URI__Group__15526 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_39_in_rule__URI__Group__1__Impl5554 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__URI__Group__2__Impl_in_rule__URI__Group__25585 = new BitSet(new long[]{0x000001004000A040L});
+ public static final BitSet FOLLOW_rule__URI__Group__3_in_rule__URI__Group__25588 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__URI__Group__3__Impl_in_rule__URI__Group__35646 = new BitSet(new long[]{0x000001004000A040L});
+ public static final BitSet FOLLOW_rule__URI__Group__4_in_rule__URI__Group__35649 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__URI__Alternatives_3_in_rule__URI__Group__3__Impl5676 = new BitSet(new long[]{0x000000000000A042L});
+ public static final BitSet FOLLOW_rule__URI__Group__4__Impl_in_rule__URI__Group__45707 = new BitSet(new long[]{0x000001004000A040L});
+ public static final BitSet FOLLOW_rule__URI__Group__5_in_rule__URI__Group__45710 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__URI__Group_4__0_in_rule__URI__Group__4__Impl5737 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__URI__Group__5__Impl_in_rule__URI__Group__55768 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_40_in_rule__URI__Group__5__Impl5796 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__URI__Group_3_1__0__Impl_in_rule__URI__Group_3_1__05839 = new BitSet(new long[]{0x0000000000000080L});
+ public static final BitSet FOLLOW_rule__URI__Group_3_1__1_in_rule__URI__Group_3_1__05842 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__URI__Alternatives_3_1_0_in_rule__URI__Group_3_1__0__Impl5869 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__URI__Group_3_1__1__Impl_in_rule__URI__Group_3_1__15899 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__URI__IdAssignment_3_1_1_in_rule__URI__Group_3_1__1__Impl5926 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__URI__Group_4__0__Impl_in_rule__URI__Group_4__05960 = new BitSet(new long[]{0x0000000000000080L});
+ public static final BitSet FOLLOW_rule__URI__Group_4__1_in_rule__URI__Group_4__05963 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_30_in_rule__URI__Group_4__0__Impl5991 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__URI__Group_4__1__Impl_in_rule__URI__Group_4__16022 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__URI__IdAssignment_4_1_in_rule__URI__Group_4__1__Impl6049 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PERCENTAGE__Group__0__Impl_in_rule__PERCENTAGE__Group__06083 = new BitSet(new long[]{0x0000040000000000L});
+ public static final BitSet FOLLOW_rule__PERCENTAGE__Group__1_in_rule__PERCENTAGE__Group__06086 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_INT_in_rule__PERCENTAGE__Group__0__Impl6113 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__PERCENTAGE__Group__1__Impl_in_rule__PERCENTAGE__Group__16142 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_42_in_rule__PERCENTAGE__Group__1__Impl6170 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__EMS__Group__0__Impl_in_rule__EMS__Group__06205 = new BitSet(new long[]{0x0000080000000000L});
+ public static final BitSet FOLLOW_rule__EMS__Group__1_in_rule__EMS__Group__06208 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_INT_in_rule__EMS__Group__0__Impl6235 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__EMS__Group__1__Impl_in_rule__EMS__Group__16264 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_43_in_rule__EMS__Group__1__Impl6292 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__EXS__Group__0__Impl_in_rule__EXS__Group__06327 = new BitSet(new long[]{0x0000100000000000L});
+ public static final BitSet FOLLOW_rule__EXS__Group__1_in_rule__EXS__Group__06330 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_INT_in_rule__EXS__Group__0__Impl6357 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__EXS__Group__1__Impl_in_rule__EXS__Group__16386 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_44_in_rule__EXS__Group__1__Impl6414 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__LENGTH__Group__0__Impl_in_rule__LENGTH__Group__06449 = new BitSet(new long[]{0x00000000003F0000L});
+ public static final BitSet FOLLOW_rule__LENGTH__Group__1_in_rule__LENGTH__Group__06452 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_INT_in_rule__LENGTH__Group__0__Impl6479 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__LENGTH__Group__1__Impl_in_rule__LENGTH__Group__16508 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__LENGTH__Alternatives_1_in_rule__LENGTH__Group__1__Impl6535 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ANGLE__Group__0__Impl_in_rule__ANGLE__Group__06569 = new BitSet(new long[]{0x0000000001C00000L});
+ public static final BitSet FOLLOW_rule__ANGLE__Group__1_in_rule__ANGLE__Group__06572 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_INT_in_rule__ANGLE__Group__0__Impl6599 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ANGLE__Group__1__Impl_in_rule__ANGLE__Group__16628 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__ANGLE__Alternatives_1_in_rule__ANGLE__Group__1__Impl6655 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TIME__Group__0__Impl_in_rule__TIME__Group__06689 = new BitSet(new long[]{0x0000000006000000L});
+ public static final BitSet FOLLOW_rule__TIME__Group__1_in_rule__TIME__Group__06692 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_INT_in_rule__TIME__Group__0__Impl6719 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TIME__Group__1__Impl_in_rule__TIME__Group__16748 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__TIME__Alternatives_1_in_rule__TIME__Group__1__Impl6775 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__FREQ__Group__0__Impl_in_rule__FREQ__Group__06809 = new BitSet(new long[]{0x0000000018000000L});
+ public static final BitSet FOLLOW_rule__FREQ__Group__1_in_rule__FREQ__Group__06812 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_INT_in_rule__FREQ__Group__0__Impl6839 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__FREQ__Group__1__Impl_in_rule__FREQ__Group__16868 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__FREQ__Alternatives_1_in_rule__FREQ__Group__1__Impl6895 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Css_hash_class__Group__0__Impl_in_rule__Css_hash_class__Group__06929 = new BitSet(new long[]{0x0000000000000080L});
+ public static final BitSet FOLLOW_rule__Css_hash_class__Group__1_in_rule__Css_hash_class__Group__06932 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Css_hash_class__TypeAssignment_0_in_rule__Css_hash_class__Group__0__Impl6959 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Css_hash_class__Group__1__Impl_in_rule__Css_hash_class__Group__16989 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Css_hash_class__NameAssignment_1_in_rule__Css_hash_class__Group__1__Impl7016 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_STRING_in_rule__Stylesheet__LocationAssignment_07055 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulecss_import_in_rule__Stylesheet__ImportNameAssignment_17086 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleRules_in_rule__Stylesheet__RulesetAssignment_27117 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleselector_in_rule__Rules__SelectorsAssignment_07148 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleselector_in_rule__Rules__SelectorsAssignment_1_17179 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruledeclaration_in_rule__Rules__DeclarationsAssignment_37210 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruledeclaration_in_rule__Rules__DeclarationsAssignment_4_17241 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_STRING_in_rule__Css_import__String_nameAssignment_1_07272 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulesimple_selector_in_rule__Selector__SimpleselectorsAssignment_07303 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulecombinator_in_rule__Selector__CombinatorAssignment_1_0_07334 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleselector_in_rule__Selector__SelectorAssignment_1_0_17365 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulecombinator_in_rule__Selector__CombinatorAssignment_1_1_1_07396 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleselector_in_rule__Selector__SelectorAssignment_1_1_1_17427 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleelement_name_in_rule__Simple_selector__ElementAssignment_0_07458 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulecss_hash_class_in_rule__Simple_selector__IdAssignment_0_17489 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulepseudo_in_rule__Simple_selector__PseudoAssignment_0_27520 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulecss_hash_class_in_rule__Simple_selector__IdAssignment_17551 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_IDENT_in_rule__Pseudo__NameAssignment_0_17582 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulefunction_in_rule__Pseudo__FunctionAssignment_1_07613 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_IDENT_in_rule__Pseudo__NameAssignment_1_17644 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_IDENT_in_rule__Element_name__NameAssignment_07675 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_45_in_rule__Element_name__NameAssignment_17711 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_IDENT_in_rule__Declaration__PropertyAssignment_07750 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleexpr_in_rule__Declaration__ExprAssignment_27781 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_46_in_rule__Declaration__PriorityAssignment_37817 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleterm_in_rule__Expr__TermAssignment_07856 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Expr__OperatorsAlternatives_1_0_0_in_rule__Expr__OperatorsAssignment_1_07887 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleterm_in_rule__Expr__TermAssignment_1_17920 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleunary_operator_in_rule__Term__UnaryAssignment_0_07951 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleunary_numbers_in_rule__Term__NumberAssignment_0_17982 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_STRING_in_rule__Term__NameAssignment_18013 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_IDENT_in_rule__Term__IdAssignment_28044 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleURI_in_rule__Term__UriAssignment_38075 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_HEXDIGITS_in_rule__Term__ColorAssignment_48106 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulefunction_in_rule__Term__FunctionAssignment_58137 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_IDENT_in_rule__Function__NameAssignment_08168 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleexpr_in_rule__Function__ExprAssignment_28199 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_STRING_in_rule__URI__NameAssignment_3_08230 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_IDENT_in_rule__URI__IdAssignment_3_1_18261 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_IDENT_in_rule__URI__IdAssignment_4_18292 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rule__Css_hash_class__TypeAlternatives_0_0_in_rule__Css_hash_class__TypeAssignment_08323 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_IDENT_in_rule__Css_hash_class__NameAssignment_18356 = new BitSet(new long[]{0x0000000000000002L});
+
+} \ No newline at end of file
diff --git a/bundles/org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/internal/CSSActivator.java b/bundles/org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/internal/CSSActivator.java
new file mode 100644
index 00000000..18c3c724
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor.ui/src-gen/org/eclipse/e4/ui/internal/CSSActivator.java
@@ -0,0 +1,82 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.e4.ui.internal;
+
+import static com.google.inject.util.Modules.override;
+import static com.google.inject.Guice.createInjector;
+
+import org.apache.log4j.Logger;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+import com.google.inject.Injector;
+import com.google.inject.Module;
+
+import java.util.Map;
+import java.util.HashMap;
+
+/**
+ * This class was generated. Customizations should only happen in a newly
+ * introduced subclass.
+ */
+public class CSSActivator extends AbstractUIPlugin {
+
+ private Map<String,Injector> injectors = new HashMap<String,Injector>();
+ private static CSSActivator INSTANCE;
+
+ public Injector getInjector(String languageName) {
+ return injectors.get(languageName);
+ }
+
+ @Override
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ INSTANCE = this;
+ try {
+ registerInjectorFor("org.eclipse.e4.CSS");
+
+ } catch (Exception e) {
+ Logger.getLogger(getClass()).error(e.getMessage(), e);
+ throw e;
+ }
+ }
+
+ protected void registerInjectorFor(String language) throws Exception {
+ injectors.put(language, createInjector(
+ override(override(getRuntimeModule(language)).with(getSharedStateModule())).with(getUiModule(language))));
+ }
+
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ injectors.clear();
+ INSTANCE = null;
+ super.stop(context);
+ }
+
+ public static CSSActivator getInstance() {
+ return INSTANCE;
+ }
+
+ protected Module getRuntimeModule(String grammar) {
+ if ("org.eclipse.e4.CSS".equals(grammar)) {
+ return new org.eclipse.e4.CSSRuntimeModule();
+ }
+
+ throw new IllegalArgumentException(grammar);
+ }
+
+ protected Module getUiModule(String grammar) {
+ if ("org.eclipse.e4.CSS".equals(grammar)) {
+ return new org.eclipse.e4.ui.CSSUiModule(this);
+ }
+
+ throw new IllegalArgumentException(grammar);
+ }
+
+ protected Module getSharedStateModule() {
+ return new org.eclipse.xtext.ui.shared.SharedStateModule();
+ }
+
+}
diff --git a/bundles/org.eclipse.e4.tools.css.editor.ui/src/org/eclipse/e4/ui/CSSUiModule.java b/bundles/org.eclipse.e4.tools.css.editor.ui/src/org/eclipse/e4/ui/CSSUiModule.java
new file mode 100644
index 00000000..318a2698
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor.ui/src/org/eclipse/e4/ui/CSSUiModule.java
@@ -0,0 +1,15 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.e4.ui;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+
+/**
+ * Use this class to register components to be used within the IDE.
+ */
+public class CSSUiModule extends org.eclipse.e4.ui.AbstractCSSUiModule {
+ public CSSUiModule(AbstractUIPlugin plugin) {
+ super(plugin);
+ }
+}
diff --git a/bundles/org.eclipse.e4.tools.css.editor.ui/src/org/eclipse/e4/ui/contentassist/CSSProposalProvider.java b/bundles/org.eclipse.e4.tools.css.editor.ui/src/org/eclipse/e4/ui/contentassist/CSSProposalProvider.java
new file mode 100644
index 00000000..30ae690f
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor.ui/src/org/eclipse/e4/ui/contentassist/CSSProposalProvider.java
@@ -0,0 +1,12 @@
+/*
+* generated by Xtext
+*/
+package org.eclipse.e4.ui.contentassist;
+
+import org.eclipse.e4.ui.contentassist.AbstractCSSProposalProvider;
+/**
+ * see http://www.eclipse.org/Xtext/documentation/latest/xtext.html#contentAssist on how to customize content assistant
+ */
+public class CSSProposalProvider extends AbstractCSSProposalProvider {
+
+}
diff --git a/bundles/org.eclipse.e4.tools.css.editor.ui/src/org/eclipse/e4/ui/labeling/CSSDescriptionLabelProvider.java b/bundles/org.eclipse.e4.tools.css.editor.ui/src/org/eclipse/e4/ui/labeling/CSSDescriptionLabelProvider.java
new file mode 100644
index 00000000..d9950d14
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor.ui/src/org/eclipse/e4/ui/labeling/CSSDescriptionLabelProvider.java
@@ -0,0 +1,27 @@
+/*
+* generated by Xtext
+*/
+package org.eclipse.e4.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 CSSDescriptionLabelProvider 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/bundles/org.eclipse.e4.tools.css.editor.ui/src/org/eclipse/e4/ui/labeling/CSSLabelProvider.java b/bundles/org.eclipse.e4.tools.css.editor.ui/src/org/eclipse/e4/ui/labeling/CSSLabelProvider.java
new file mode 100644
index 00000000..675c4f21
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor.ui/src/org/eclipse/e4/ui/labeling/CSSLabelProvider.java
@@ -0,0 +1,34 @@
+/*
+* generated by Xtext
+*/
+package org.eclipse.e4.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 CSSLabelProvider extends DefaultEObjectLabelProvider {
+
+ @Inject
+ public CSSLabelProvider(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/bundles/org.eclipse.e4.tools.css.editor.ui/src/org/eclipse/e4/ui/outline/CSSOutlineTreeProvider.java b/bundles/org.eclipse.e4.tools.css.editor.ui/src/org/eclipse/e4/ui/outline/CSSOutlineTreeProvider.java
new file mode 100644
index 00000000..66a3381d
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor.ui/src/org/eclipse/e4/ui/outline/CSSOutlineTreeProvider.java
@@ -0,0 +1,14 @@
+/*
+* generated by Xtext
+*/
+package org.eclipse.e4.ui.outline;
+
+import org.eclipse.xtext.ui.editor.outline.impl.DefaultOutlineTreeProvider;
+
+/**
+ * customization of the default outline structure
+ *
+ */
+public class CSSOutlineTreeProvider extends DefaultOutlineTreeProvider {
+
+}
diff --git a/bundles/org.eclipse.e4.tools.css.editor.ui/src/org/eclipse/e4/ui/quickfix/CSSQuickfixProvider.java b/bundles/org.eclipse.e4.tools.css.editor.ui/src/org/eclipse/e4/ui/quickfix/CSSQuickfixProvider.java
new file mode 100644
index 00000000..d698ec7d
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor.ui/src/org/eclipse/e4/ui/quickfix/CSSQuickfixProvider.java
@@ -0,0 +1,19 @@
+
+package org.eclipse.e4.ui.quickfix;
+
+import org.eclipse.xtext.ui.editor.quickfix.DefaultQuickfixProvider;
+
+public class CSSQuickfixProvider 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/bundles/org.eclipse.e4.tools.css.editor/.antlr-generator-3.2.0.jar b/bundles/org.eclipse.e4.tools.css.editor/.antlr-generator-3.2.0.jar
new file mode 100644
index 00000000..42434924
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/.antlr-generator-3.2.0.jar
Binary files differ
diff --git a/bundles/org.eclipse.e4.tools.css.editor/.classpath b/bundles/org.eclipse.e4.tools.css.editor/.classpath
new file mode 100644
index 00000000..3f1be502
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/.classpath
@@ -0,0 +1,9 @@
+<?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/bundles/org.eclipse.e4.tools.css.editor/.project b/bundles/org.eclipse.e4.tools.css.editor/.project
new file mode 100644
index 00000000..a36907a4
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.e4.tools.css.editor</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/bundles/org.eclipse.e4.tools.css.editor/GenerateCSS.mwe2.launch b/bundles/org.eclipse.e4.tools.css.editor/GenerateCSS.mwe2.launch
new file mode 100644
index 00000000..bd973d7a
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/GenerateCSS.mwe2.launch
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.emf.mwe2.launch.Mwe2LaunchConfigurationType">
+<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; id=&quot;1299248699643_13&quot; label=&quot;working set&quot; name=&quot;working set&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.e4.tools.css.editor&quot; type=&quot;4&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.e4.tools.css.editor.generator&quot; type=&quot;4&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.e4.tools.css.editor.tests&quot; type=&quot;4&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.e4.tools.css.editor.ui&quot; type=&quot;4&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;}"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.e4.tools.css.editor"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="4"/>
+</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/eclipse/e4/GenerateCSS.mwe2"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.e4.tools.css.editor"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx512m"/>
+</launchConfiguration>
diff --git a/bundles/org.eclipse.e4.tools.css.editor/META-INF/MANIFEST.MF b/bundles/org.eclipse.e4.tools.css.editor/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..1ce8d51d
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/META-INF/MANIFEST.MF
@@ -0,0 +1,33 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.eclipse.e4.tools.css.editor
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0
+Bundle-SymbolicName: org.eclipse.e4.tools.css.editor; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.eclipse.xtext;bundle-version="2.0.0";visibility:=reexport,
+ org.apache.log4j;bundle-version="1.2.15";visibility:=reexport,
+ org.apache.commons.logging;bundle-version="1.0.4";resolution:=optional;visibility:=reexport,
+ org.eclipse.xtext.generator;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.apache.commons.logging,
+ org.eclipse.xtext.xbase.lib,
+ org.eclipse.xtext.xtend2.lib
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.e4,
+ org.eclipse.e4.services,
+ org.eclipse.e4.cSS,
+ org.eclipse.e4.cSS.impl,
+ org.eclipse.e4.cSS.util,
+ org.eclipse.e4.parseTreeConstruction,
+ org.eclipse.e4.parser.antlr,
+ org.eclipse.e4.parser.antlr.internal,
+ org.eclipse.e4.validation
diff --git a/bundles/org.eclipse.e4.tools.css.editor/build.properties b/bundles/org.eclipse.e4.tools.css.editor/build.properties
new file mode 100644
index 00000000..31255ed0
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/build.properties
@@ -0,0 +1,6 @@
+source.. = src/,\
+ src-gen/,\
+ xtend-gen/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml \ No newline at end of file
diff --git a/bundles/org.eclipse.e4.tools.css.editor/plugin.xml b/bundles/org.eclipse.e4.tools.css.editor/plugin.xml
new file mode 100644
index 00000000..a141ff46
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/plugin.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri = "http://www.eclipse.org/e4/CSS"
+ class = "org.eclipse.e4.cSS.CSSPackage"
+ genModel = "org/eclipse/e4/CSS.genmodel" />
+
+ </extension>
+
+
+
+
+
+</plugin>
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/AbstractCSSRuntimeModule.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/AbstractCSSRuntimeModule.java
new file mode 100644
index 00000000..1852e451
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/AbstractCSSRuntimeModule.java
@@ -0,0 +1,162 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.e4;
+
+import java.util.Properties;
+
+import org.eclipse.xtext.Constants;
+import org.eclipse.xtext.service.DefaultRuntimeModule;
+
+import com.google.inject.Binder;
+import com.google.inject.name.Names;
+
+/**
+ * Manual modifications go to {org.eclipse.e4.CSSRuntimeModule}
+ */
+ @SuppressWarnings("all")
+public abstract class AbstractCSSRuntimeModule extends DefaultRuntimeModule {
+
+ protected Properties properties = null;
+
+ @Override
+ public void configure(Binder binder) {
+ properties = tryBindProperties(binder, "org/eclipse/e4/CSS.properties");
+ super.configure(binder);
+ }
+
+ public void configureLanguageName(Binder binder) {
+ binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("org.eclipse.e4.CSS");
+ }
+
+ 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("css");
+ }
+
+ // contributed by org.eclipse.xtext.generator.grammarAccess.GrammarAccessFragment
+ public Class<? extends org.eclipse.xtext.IGrammarAccess> bindIGrammarAccess() {
+ return org.eclipse.e4.services.CSSGrammarAccess.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parseTreeConstructor.ParseTreeConstructorFragment
+ public Class<? extends org.eclipse.xtext.parsetree.reconstr.IParseTreeConstructor> bindIParseTreeConstructor() {
+ return org.eclipse.e4.parseTreeConstruction.CSSParsetreeConstructor.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.IParser> bindIParser() {
+ return org.eclipse.e4.parser.antlr.CSSParser.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.ITokenToStringConverter> bindITokenToStringConverter() {
+ return org.eclipse.xtext.parser.antlr.AntlrTokenToStringConverter.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider> bindIAntlrTokenFileProvider() {
+ return org.eclipse.e4.parser.antlr.CSSAntlrTokenFileProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.antlr.Lexer> bindLexer() {
+ return org.eclipse.e4.parser.antlr.internal.InternalCSSLexer.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public com.google.inject.Provider<org.eclipse.e4.parser.antlr.internal.InternalCSSLexer> provideInternalCSSLexer() {
+ return org.eclipse.xtext.parser.antlr.LexerProvider.create(org.eclipse.e4.parser.antlr.internal.InternalCSSLexer.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public void configureRuntimeLexer(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.parser.antlr.Lexer.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.parser.antlr.LexerBindings.RUNTIME)).to(org.eclipse.e4.parser.antlr.internal.InternalCSSLexer.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.antlr.ITokenDefProvider> bindITokenDefProvider() {
+ return org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.validation.JavaValidatorFragment
+ @org.eclipse.xtext.service.SingletonBinding(eager=true) public Class<? extends org.eclipse.e4.validation.CSSJavaValidator> bindCSSJavaValidator() {
+ return org.eclipse.e4.validation.CSSJavaValidator.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
+ public Class<? extends org.eclipse.xtext.scoping.IScopeProvider> bindIScopeProvider() {
+ return org.eclipse.e4.scoping.CSSScopeProvider.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.eclipse.e4.generator.CSSGenerator.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.formatting.FormatterFragment
+ public Class<? extends org.eclipse.xtext.formatting.IFormatter> bindIFormatter() {
+ return org.eclipse.e4.formatting.CSSFormatter.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/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore
new file mode 100644
index 00000000..5a6fdcbc
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore
@@ -0,0 +1,88 @@
+<?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="cSS"
+ nsURI="http://www.eclipse.org/e4/CSS" nsPrefix="cSS">
+ <eClassifiers xsi:type="ecore:EClass" name="stylesheet">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="location" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="importName" upperBound="-1"
+ eType="ecore:EClass platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//css_import"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="ruleset" upperBound="-1"
+ eType="ecore:EClass platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//Rules"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Rules">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="selectors" upperBound="-1"
+ eType="ecore:EClass platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//selector"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="declarations" upperBound="-1"
+ eType="ecore:EClass platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//declaration"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="css_import">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="string_name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="selector">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="simpleselectors" eType="ecore:EClass platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//simple_selector"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="combinator" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="selector" eType="ecore:EClass platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//selector"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="simple_selector">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="element" eType="ecore:EClass platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//element_name"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="id" upperBound="-1" eType="ecore:EClass platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//css_hash_class"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="pseudo" upperBound="-1"
+ eType="ecore:EClass platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//pseudo"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="pseudo">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="function" eType="ecore:EClass platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//function"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="element_name">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="declaration">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="property" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expr" eType="ecore:EClass platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//expr"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="priority" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="expr">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="term" upperBound="-1" eType="ecore:EClass platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//term"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="operators" unique="false"
+ upperBound="-1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="term">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="unary" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="number" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="uri" eType="ecore:EClass platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//URI"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="color" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="function" eType="ecore:EClass platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//function"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="function">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expr" eType="ecore:EClass platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//expr"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="URI" eSuperTypes="platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//css_import">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" unique="false" upperBound="-1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" unique="false" upperBound="-1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="css_hash_class">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="type" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.genmodel b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.genmodel
new file mode 100644
index 00000000..d1d5df91
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.genmodel
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.e4.tools.css.editor/src-gen"
+ editDirectory="/org.eclipse.e4.tools.css.editor.edit/src" editorDirectory="/org.eclipse.e4.tools.css.editor.editor/src"
+ modelPluginID="org.eclipse.e4.tools.css.editor" forceOverwrite="true" modelName="CSS"
+ updateClasspath="false" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
+ complianceLevel="5.0" copyrightFields="false" editPluginID="org.eclipse.e4.tools.css.editor.edit"
+ editorPluginID="org.eclipse.e4.tools.css.editor.editor">
+ <genPackages prefix="CSS" basePackage="org.eclipse.e4" disposableProviderFactory="true"
+ ecorePackage="platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#/">
+ <genClasses ecoreClass="platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//stylesheet">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//stylesheet/location"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//stylesheet/importName"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//stylesheet/ruleset"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//Rules">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//Rules/selectors"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//Rules/declarations"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//css_import">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//css_import/string_name"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//selector">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//selector/simpleselectors"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//selector/combinator"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//selector/selector"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//simple_selector">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//simple_selector/element"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//simple_selector/id"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//simple_selector/pseudo"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//pseudo">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//pseudo/name"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//pseudo/function"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//element_name">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//element_name/name"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//declaration">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//declaration/property"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//declaration/expr"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//declaration/priority"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//expr">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//expr/term"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//expr/operators"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//term">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//term/unary"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//term/number"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//term/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//term/id"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//term/uri"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//term/color"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//term/function"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//function">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//function/name"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//function/expr"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//URI">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//URI/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//URI/id"/>
+ </genClasses>
+ <genClasses ecoreClass="platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//css_hash_class">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//css_hash_class/type"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute platform:/resource/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.ecore#//css_hash_class/name"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.xmi b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.xmi
new file mode 100644
index 00000000..6c6b3438
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSS.xmi
@@ -0,0 +1,609 @@
+<?xml version="1.0" encoding="ASCII"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:xtext="http://www.eclipse.org/2008/Xtext">
+ <xtext:Grammar name="org.eclipse.e4.CSS" usedGrammars="/1">
+ <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="cSS">
+ <ePackage href="http://www.eclipse.org/e4/CSS#/"/>
+ </metamodelDeclarations>
+ <rules xsi:type="xtext:ParserRule" name="stylesheet">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/e4/CSS#//stylesheet"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="location" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.2"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" cardinality="*" feature="importName" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.2"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" cardinality="*" feature="ruleset" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.1"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Rules">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/e4/CSS#//Rules"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="selectors" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value=","/>
+ <elements xsi:type="xtext:Assignment" feature="selectors" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="{"/>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="declarations" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.7"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value=";"/>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="declarations" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.7"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="}"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="css_import">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/e4/CSS#//css_import"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="@import"/>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Assignment" feature="string_name" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.2"/>
+ </elements>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.11"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=";"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="selector" definesHiddenTokens="true">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/e4/CSS#//selector"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="simpleselectors" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.4"/>
+ </elements>
+ <elements xsi:type="xtext:Alternatives" cardinality="?">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="combinator" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.23"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="selector" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:RuleCall" cardinality="+" rule="/1/@rules.5"/>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="combinator" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.23"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="selector" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.3"/>
+ </elements>
+ </elements>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="simple_selector">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/e4/CSS#//simple_selector"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="element" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.6"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" cardinality="*" feature="id" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.20"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" cardinality="*" feature="pseudo" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.5"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Assignment" cardinality="+" feature="id" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.20"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="pseudo">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/e4/CSS#//pseudo"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value=":"/>
+ <elements xsi:type="xtext:Assignment" feature="name" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="function" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.10"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="name" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="element_name">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/e4/CSS#//element_name"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Assignment" feature="name" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="name" operator="=">
+ <terminal xsi:type="xtext:Keyword" value="*"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="declaration">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/e4/CSS#//declaration"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="property" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=":"/>
+ <elements xsi:type="xtext:Assignment" feature="expr" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.8"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="priority" operator="=">
+ <terminal xsi:type="xtext:Keyword" value="!important"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="expr">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/e4/CSS#//expr"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="term" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.9"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="operators" operator="+=">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="/"/>
+ <elements xsi:type="xtext:Keyword" value=","/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="term" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.9"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="term">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/e4/CSS#//term"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="unary" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.24"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="number" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.12"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="name" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.2"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="id" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="uri" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.11"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="color" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.21"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="function" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.10"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="function">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/e4/CSS#//function"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="name" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="("/>
+ <elements xsi:type="xtext:Assignment" feature="expr" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.8"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="URI">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/e4/CSS#//URI"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="url"/>
+ <elements xsi:type="xtext:Keyword" value="("/>
+ <elements xsi:type="xtext:Action">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/e4/CSS#//URI"/>
+ </type>
+ </elements>
+ <elements xsi:type="xtext:Alternatives" cardinality="*">
+ <elements xsi:type="xtext:Assignment" feature="name" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/1/@rules.2"/>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="\"/>
+ <elements xsi:type="xtext:Keyword" value="/"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="id" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
+ </elements>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="."/>
+ <elements xsi:type="xtext:Assignment" feature="id" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="unary_numbers">
+ <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:RuleCall" rule="/1/@rules.1"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.13"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.16"/>
+ <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.17"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.18"/>
+ <elements xsi:type="xtext:RuleCall" rule="/0/@rules.19"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="PERCENTAGE">
+ <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:RuleCall" rule="/1/@rules.1"/>
+ <elements xsi:type="xtext:Keyword" value="%"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="EMS">
+ <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:RuleCall" rule="/1/@rules.1"/>
+ <elements xsi:type="xtext:Keyword" value="em"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="EXS">
+ <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:RuleCall" rule="/1/@rules.1"/>
+ <elements xsi:type="xtext:Keyword" value="ex"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="LENGTH" definesHiddenTokens="true">
+ <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:RuleCall" rule="/1/@rules.1"/>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="px"/>
+ <elements xsi:type="xtext:Keyword" value="cm"/>
+ <elements xsi:type="xtext:Keyword" value="mm"/>
+ <elements xsi:type="xtext:Keyword" value="in"/>
+ <elements xsi:type="xtext:Keyword" value="pt"/>
+ <elements xsi:type="xtext:Keyword" value="pc"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="ANGLE">
+ <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:RuleCall" rule="/1/@rules.1"/>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="deg"/>
+ <elements xsi:type="xtext:Keyword" value="rad"/>
+ <elements xsi:type="xtext:Keyword" value="grad"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="TIME">
+ <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:RuleCall" rule="/1/@rules.1"/>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="ms"/>
+ <elements xsi:type="xtext:Keyword" value="s"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="FREQ">
+ <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:RuleCall" rule="/1/@rules.1"/>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="hz"/>
+ <elements xsi:type="xtext:Keyword" value="khz"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="css_hash_class">
+ <type metamodel="/0/@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/e4/CSS#//css_hash_class"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="type" operator="=">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="#"/>
+ <elements xsi:type="xtext:Keyword" value="."/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="name" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="/0/@rules.22"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="hexdigits">
+ <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:Alternatives" cardinality="+">
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="a"/>
+ <right value="f"/>
+ </elements>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="A"/>
+ <right value="F"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="ident">
+ <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:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="_"/>
+ <elements xsi:type="xtext:Keyword" value="-"/>
+ <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>
+ <elements xsi:type="xtext:Alternatives" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value="_"/>
+ <elements xsi:type="xtext:Keyword" value="-"/>
+ <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:CharacterRange">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="combinator" definesHiddenTokens="true" hiddenTokens="/1/@rules.5">
+ <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:Keyword" value="+"/>
+ <elements xsi:type="xtext:Keyword" value=">"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="unary_operator">
+ <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:Keyword" value="-"/>
+ <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/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSSStandaloneSetupGenerated.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSSStandaloneSetupGenerated.java
new file mode 100644
index 00000000..73234529
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/CSSStandaloneSetupGenerated.java
@@ -0,0 +1,44 @@
+
+package org.eclipse.e4;
+
+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 CSSStandaloneSetupGenerated implements ISetup {
+
+ public Injector createInjectorAndDoEMFRegistration() {
+ org.eclipse.xtext.common.TerminalsStandaloneSetup.doSetup();
+
+ Injector injector = createInjector();
+ register(injector);
+ return injector;
+ }
+
+ public Injector createInjector() {
+ return Guice.createInjector(new org.eclipse.e4.CSSRuntimeModule());
+ }
+
+ public void register(Injector injector) {
+ if (!EPackage.Registry.INSTANCE.containsKey("http://www.eclipse.org/e4/CSS")) {
+ EPackage.Registry.INSTANCE.put("http://www.eclipse.org/e4/CSS", org.eclipse.e4.cSS.CSSPackage.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("css", resourceFactory);
+ org.eclipse.xtext.resource.IResourceServiceProvider.Registry.INSTANCE.getExtensionToFactoryMap().put("css", serviceProvider);
+
+
+
+
+
+ }
+}
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/CSSFactory.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/CSSFactory.java
new file mode 100644
index 00000000..ec7ae876
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/CSSFactory.java
@@ -0,0 +1,155 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.e4.cSS;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.e4.cSS.CSSPackage
+ * @generated
+ */
+public interface CSSFactory extends EFactory
+{
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ CSSFactory eINSTANCE = org.eclipse.e4.cSS.impl.CSSFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>stylesheet</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>stylesheet</em>'.
+ * @generated
+ */
+ stylesheet createstylesheet();
+
+ /**
+ * Returns a new object of class '<em>Rules</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Rules</em>'.
+ * @generated
+ */
+ Rules createRules();
+
+ /**
+ * Returns a new object of class '<em>css import</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>css import</em>'.
+ * @generated
+ */
+ css_import createcss_import();
+
+ /**
+ * Returns a new object of class '<em>selector</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>selector</em>'.
+ * @generated
+ */
+ selector createselector();
+
+ /**
+ * Returns a new object of class '<em>simple selector</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>simple selector</em>'.
+ * @generated
+ */
+ simple_selector createsimple_selector();
+
+ /**
+ * Returns a new object of class '<em>pseudo</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>pseudo</em>'.
+ * @generated
+ */
+ pseudo createpseudo();
+
+ /**
+ * Returns a new object of class '<em>element name</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>element name</em>'.
+ * @generated
+ */
+ element_name createelement_name();
+
+ /**
+ * Returns a new object of class '<em>declaration</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>declaration</em>'.
+ * @generated
+ */
+ declaration createdeclaration();
+
+ /**
+ * Returns a new object of class '<em>expr</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>expr</em>'.
+ * @generated
+ */
+ expr createexpr();
+
+ /**
+ * 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>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>URI</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>URI</em>'.
+ * @generated
+ */
+ URI createURI();
+
+ /**
+ * Returns a new object of class '<em>css hash class</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>css hash class</em>'.
+ * @generated
+ */
+ css_hash_class createcss_hash_class();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ CSSPackage getCSSPackage();
+
+} //CSSFactory
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/CSSPackage.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/CSSPackage.java
new file mode 100644
index 00000000..8182116d
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/CSSPackage.java
@@ -0,0 +1,1529 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.e4.cSS;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.e4.cSS.CSSFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface CSSPackage extends EPackage
+{
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "cSS";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/e4/CSS";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "cSS";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ CSSPackage eINSTANCE = org.eclipse.e4.cSS.impl.CSSPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.e4.cSS.impl.stylesheetImpl <em>stylesheet</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.e4.cSS.impl.stylesheetImpl
+ * @see org.eclipse.e4.cSS.impl.CSSPackageImpl#getstylesheet()
+ * @generated
+ */
+ int STYLESHEET = 0;
+
+ /**
+ * The feature id for the '<em><b>Location</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STYLESHEET__LOCATION = 0;
+
+ /**
+ * The feature id for the '<em><b>Import Name</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STYLESHEET__IMPORT_NAME = 1;
+
+ /**
+ * The feature id for the '<em><b>Ruleset</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STYLESHEET__RULESET = 2;
+
+ /**
+ * The number of structural features of the '<em>stylesheet</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STYLESHEET_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.e4.cSS.impl.RulesImpl <em>Rules</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.e4.cSS.impl.RulesImpl
+ * @see org.eclipse.e4.cSS.impl.CSSPackageImpl#getRules()
+ * @generated
+ */
+ int RULES = 1;
+
+ /**
+ * The feature id for the '<em><b>Selectors</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RULES__SELECTORS = 0;
+
+ /**
+ * The feature id for the '<em><b>Declarations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RULES__DECLARATIONS = 1;
+
+ /**
+ * The number of structural features of the '<em>Rules</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RULES_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.e4.cSS.impl.css_importImpl <em>css import</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.e4.cSS.impl.css_importImpl
+ * @see org.eclipse.e4.cSS.impl.CSSPackageImpl#getcss_import()
+ * @generated
+ */
+ int CSS_IMPORT = 2;
+
+ /**
+ * The feature id for the '<em><b>String name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CSS_IMPORT__STRING_NAME = 0;
+
+ /**
+ * The number of structural features of the '<em>css import</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CSS_IMPORT_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.e4.cSS.impl.selectorImpl <em>selector</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.e4.cSS.impl.selectorImpl
+ * @see org.eclipse.e4.cSS.impl.CSSPackageImpl#getselector()
+ * @generated
+ */
+ int SELECTOR = 3;
+
+ /**
+ * The feature id for the '<em><b>Simpleselectors</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SELECTOR__SIMPLESELECTORS = 0;
+
+ /**
+ * The feature id for the '<em><b>Combinator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SELECTOR__COMBINATOR = 1;
+
+ /**
+ * The feature id for the '<em><b>Selector</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SELECTOR__SELECTOR = 2;
+
+ /**
+ * The number of structural features of the '<em>selector</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SELECTOR_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.e4.cSS.impl.simple_selectorImpl <em>simple selector</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.e4.cSS.impl.simple_selectorImpl
+ * @see org.eclipse.e4.cSS.impl.CSSPackageImpl#getsimple_selector()
+ * @generated
+ */
+ int SIMPLE_SELECTOR = 4;
+
+ /**
+ * The feature id for the '<em><b>Element</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SIMPLE_SELECTOR__ELEMENT = 0;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SIMPLE_SELECTOR__ID = 1;
+
+ /**
+ * The feature id for the '<em><b>Pseudo</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SIMPLE_SELECTOR__PSEUDO = 2;
+
+ /**
+ * The number of structural features of the '<em>simple selector</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SIMPLE_SELECTOR_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.e4.cSS.impl.pseudoImpl <em>pseudo</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.e4.cSS.impl.pseudoImpl
+ * @see org.eclipse.e4.cSS.impl.CSSPackageImpl#getpseudo()
+ * @generated
+ */
+ int PSEUDO = 5;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PSEUDO__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Function</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PSEUDO__FUNCTION = 1;
+
+ /**
+ * The number of structural features of the '<em>pseudo</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PSEUDO_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.e4.cSS.impl.element_nameImpl <em>element name</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.e4.cSS.impl.element_nameImpl
+ * @see org.eclipse.e4.cSS.impl.CSSPackageImpl#getelement_name()
+ * @generated
+ */
+ int ELEMENT_NAME = 6;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_NAME__NAME = 0;
+
+ /**
+ * The number of structural features of the '<em>element name</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ELEMENT_NAME_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.e4.cSS.impl.declarationImpl <em>declaration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.e4.cSS.impl.declarationImpl
+ * @see org.eclipse.e4.cSS.impl.CSSPackageImpl#getdeclaration()
+ * @generated
+ */
+ int DECLARATION = 7;
+
+ /**
+ * The feature id for the '<em><b>Property</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DECLARATION__PROPERTY = 0;
+
+ /**
+ * The feature id for the '<em><b>Expr</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DECLARATION__EXPR = 1;
+
+ /**
+ * The feature id for the '<em><b>Priority</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DECLARATION__PRIORITY = 2;
+
+ /**
+ * The number of structural features of the '<em>declaration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DECLARATION_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.e4.cSS.impl.exprImpl <em>expr</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.e4.cSS.impl.exprImpl
+ * @see org.eclipse.e4.cSS.impl.CSSPackageImpl#getexpr()
+ * @generated
+ */
+ int EXPR = 8;
+
+ /**
+ * The feature id for the '<em><b>Term</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXPR__TERM = 0;
+
+ /**
+ * The feature id for the '<em><b>Operators</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXPR__OPERATORS = 1;
+
+ /**
+ * The number of structural features of the '<em>expr</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXPR_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.e4.cSS.impl.termImpl <em>term</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.e4.cSS.impl.termImpl
+ * @see org.eclipse.e4.cSS.impl.CSSPackageImpl#getterm()
+ * @generated
+ */
+ int TERM = 9;
+
+ /**
+ * The feature id for the '<em><b>Unary</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TERM__UNARY = 0;
+
+ /**
+ * The feature id for the '<em><b>Number</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TERM__NUMBER = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TERM__NAME = 2;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TERM__ID = 3;
+
+ /**
+ * The feature id for the '<em><b>Uri</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TERM__URI = 4;
+
+ /**
+ * The feature id for the '<em><b>Color</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TERM__COLOR = 5;
+
+ /**
+ * The feature id for the '<em><b>Function</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TERM__FUNCTION = 6;
+
+ /**
+ * The number of structural features of the '<em>term</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TERM_FEATURE_COUNT = 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.e4.cSS.impl.functionImpl <em>function</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.e4.cSS.impl.functionImpl
+ * @see org.eclipse.e4.cSS.impl.CSSPackageImpl#getfunction()
+ * @generated
+ */
+ int FUNCTION = 10;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION__NAME = 0;
+
+ /**
+ * The feature id for the '<em><b>Expr</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION__EXPR = 1;
+
+ /**
+ * The number of structural features of the '<em>function</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.e4.cSS.impl.URIImpl <em>URI</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.e4.cSS.impl.URIImpl
+ * @see org.eclipse.e4.cSS.impl.CSSPackageImpl#getURI()
+ * @generated
+ */
+ int URI = 11;
+
+ /**
+ * The feature id for the '<em><b>String name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int URI__STRING_NAME = CSS_IMPORT__STRING_NAME;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int URI__NAME = CSS_IMPORT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int URI__ID = CSS_IMPORT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>URI</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int URI_FEATURE_COUNT = CSS_IMPORT_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.e4.cSS.impl.css_hash_classImpl <em>css hash class</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.e4.cSS.impl.css_hash_classImpl
+ * @see org.eclipse.e4.cSS.impl.CSSPackageImpl#getcss_hash_class()
+ * @generated
+ */
+ int CSS_HASH_CLASS = 12;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CSS_HASH_CLASS__TYPE = 0;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CSS_HASH_CLASS__NAME = 1;
+
+ /**
+ * The number of structural features of the '<em>css hash class</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CSS_HASH_CLASS_FEATURE_COUNT = 2;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.e4.cSS.stylesheet <em>stylesheet</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>stylesheet</em>'.
+ * @see org.eclipse.e4.cSS.stylesheet
+ * @generated
+ */
+ EClass getstylesheet();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.e4.cSS.stylesheet#getLocation <em>Location</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Location</em>'.
+ * @see org.eclipse.e4.cSS.stylesheet#getLocation()
+ * @see #getstylesheet()
+ * @generated
+ */
+ EAttribute getstylesheet_Location();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.e4.cSS.stylesheet#getImportName <em>Import Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Import Name</em>'.
+ * @see org.eclipse.e4.cSS.stylesheet#getImportName()
+ * @see #getstylesheet()
+ * @generated
+ */
+ EReference getstylesheet_ImportName();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.e4.cSS.stylesheet#getRuleset <em>Ruleset</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Ruleset</em>'.
+ * @see org.eclipse.e4.cSS.stylesheet#getRuleset()
+ * @see #getstylesheet()
+ * @generated
+ */
+ EReference getstylesheet_Ruleset();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.e4.cSS.Rules <em>Rules</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Rules</em>'.
+ * @see org.eclipse.e4.cSS.Rules
+ * @generated
+ */
+ EClass getRules();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.e4.cSS.Rules#getSelectors <em>Selectors</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Selectors</em>'.
+ * @see org.eclipse.e4.cSS.Rules#getSelectors()
+ * @see #getRules()
+ * @generated
+ */
+ EReference getRules_Selectors();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.e4.cSS.Rules#getDeclarations <em>Declarations</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Declarations</em>'.
+ * @see org.eclipse.e4.cSS.Rules#getDeclarations()
+ * @see #getRules()
+ * @generated
+ */
+ EReference getRules_Declarations();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.e4.cSS.css_import <em>css import</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>css import</em>'.
+ * @see org.eclipse.e4.cSS.css_import
+ * @generated
+ */
+ EClass getcss_import();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.e4.cSS.css_import#getString_name <em>String name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>String name</em>'.
+ * @see org.eclipse.e4.cSS.css_import#getString_name()
+ * @see #getcss_import()
+ * @generated
+ */
+ EAttribute getcss_import_String_name();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.e4.cSS.selector <em>selector</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>selector</em>'.
+ * @see org.eclipse.e4.cSS.selector
+ * @generated
+ */
+ EClass getselector();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.e4.cSS.selector#getSimpleselectors <em>Simpleselectors</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Simpleselectors</em>'.
+ * @see org.eclipse.e4.cSS.selector#getSimpleselectors()
+ * @see #getselector()
+ * @generated
+ */
+ EReference getselector_Simpleselectors();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.e4.cSS.selector#getCombinator <em>Combinator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Combinator</em>'.
+ * @see org.eclipse.e4.cSS.selector#getCombinator()
+ * @see #getselector()
+ * @generated
+ */
+ EAttribute getselector_Combinator();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.e4.cSS.selector#getSelector <em>Selector</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Selector</em>'.
+ * @see org.eclipse.e4.cSS.selector#getSelector()
+ * @see #getselector()
+ * @generated
+ */
+ EReference getselector_Selector();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.e4.cSS.simple_selector <em>simple selector</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>simple selector</em>'.
+ * @see org.eclipse.e4.cSS.simple_selector
+ * @generated
+ */
+ EClass getsimple_selector();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.e4.cSS.simple_selector#getElement <em>Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Element</em>'.
+ * @see org.eclipse.e4.cSS.simple_selector#getElement()
+ * @see #getsimple_selector()
+ * @generated
+ */
+ EReference getsimple_selector_Element();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.e4.cSS.simple_selector#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Id</em>'.
+ * @see org.eclipse.e4.cSS.simple_selector#getId()
+ * @see #getsimple_selector()
+ * @generated
+ */
+ EReference getsimple_selector_Id();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.e4.cSS.simple_selector#getPseudo <em>Pseudo</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Pseudo</em>'.
+ * @see org.eclipse.e4.cSS.simple_selector#getPseudo()
+ * @see #getsimple_selector()
+ * @generated
+ */
+ EReference getsimple_selector_Pseudo();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.e4.cSS.pseudo <em>pseudo</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>pseudo</em>'.
+ * @see org.eclipse.e4.cSS.pseudo
+ * @generated
+ */
+ EClass getpseudo();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.e4.cSS.pseudo#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.e4.cSS.pseudo#getName()
+ * @see #getpseudo()
+ * @generated
+ */
+ EAttribute getpseudo_Name();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.e4.cSS.pseudo#getFunction <em>Function</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Function</em>'.
+ * @see org.eclipse.e4.cSS.pseudo#getFunction()
+ * @see #getpseudo()
+ * @generated
+ */
+ EReference getpseudo_Function();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.e4.cSS.element_name <em>element name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>element name</em>'.
+ * @see org.eclipse.e4.cSS.element_name
+ * @generated
+ */
+ EClass getelement_name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.e4.cSS.element_name#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.e4.cSS.element_name#getName()
+ * @see #getelement_name()
+ * @generated
+ */
+ EAttribute getelement_name_Name();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.e4.cSS.declaration <em>declaration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>declaration</em>'.
+ * @see org.eclipse.e4.cSS.declaration
+ * @generated
+ */
+ EClass getdeclaration();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.e4.cSS.declaration#getProperty <em>Property</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Property</em>'.
+ * @see org.eclipse.e4.cSS.declaration#getProperty()
+ * @see #getdeclaration()
+ * @generated
+ */
+ EAttribute getdeclaration_Property();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.e4.cSS.declaration#getExpr <em>Expr</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Expr</em>'.
+ * @see org.eclipse.e4.cSS.declaration#getExpr()
+ * @see #getdeclaration()
+ * @generated
+ */
+ EReference getdeclaration_Expr();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.e4.cSS.declaration#getPriority <em>Priority</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Priority</em>'.
+ * @see org.eclipse.e4.cSS.declaration#getPriority()
+ * @see #getdeclaration()
+ * @generated
+ */
+ EAttribute getdeclaration_Priority();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.e4.cSS.expr <em>expr</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>expr</em>'.
+ * @see org.eclipse.e4.cSS.expr
+ * @generated
+ */
+ EClass getexpr();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.e4.cSS.expr#getTerm <em>Term</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Term</em>'.
+ * @see org.eclipse.e4.cSS.expr#getTerm()
+ * @see #getexpr()
+ * @generated
+ */
+ EReference getexpr_Term();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.e4.cSS.expr#getOperators <em>Operators</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Operators</em>'.
+ * @see org.eclipse.e4.cSS.expr#getOperators()
+ * @see #getexpr()
+ * @generated
+ */
+ EAttribute getexpr_Operators();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.e4.cSS.term <em>term</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>term</em>'.
+ * @see org.eclipse.e4.cSS.term
+ * @generated
+ */
+ EClass getterm();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.e4.cSS.term#getUnary <em>Unary</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Unary</em>'.
+ * @see org.eclipse.e4.cSS.term#getUnary()
+ * @see #getterm()
+ * @generated
+ */
+ EAttribute getterm_Unary();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.e4.cSS.term#getNumber <em>Number</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Number</em>'.
+ * @see org.eclipse.e4.cSS.term#getNumber()
+ * @see #getterm()
+ * @generated
+ */
+ EAttribute getterm_Number();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.e4.cSS.term#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.e4.cSS.term#getName()
+ * @see #getterm()
+ * @generated
+ */
+ EAttribute getterm_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.e4.cSS.term#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.eclipse.e4.cSS.term#getId()
+ * @see #getterm()
+ * @generated
+ */
+ EAttribute getterm_Id();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.e4.cSS.term#getUri <em>Uri</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Uri</em>'.
+ * @see org.eclipse.e4.cSS.term#getUri()
+ * @see #getterm()
+ * @generated
+ */
+ EReference getterm_Uri();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.e4.cSS.term#getColor <em>Color</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Color</em>'.
+ * @see org.eclipse.e4.cSS.term#getColor()
+ * @see #getterm()
+ * @generated
+ */
+ EAttribute getterm_Color();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.e4.cSS.term#getFunction <em>Function</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Function</em>'.
+ * @see org.eclipse.e4.cSS.term#getFunction()
+ * @see #getterm()
+ * @generated
+ */
+ EReference getterm_Function();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.e4.cSS.function <em>function</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>function</em>'.
+ * @see org.eclipse.e4.cSS.function
+ * @generated
+ */
+ EClass getfunction();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.e4.cSS.function#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.e4.cSS.function#getName()
+ * @see #getfunction()
+ * @generated
+ */
+ EAttribute getfunction_Name();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.e4.cSS.function#getExpr <em>Expr</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Expr</em>'.
+ * @see org.eclipse.e4.cSS.function#getExpr()
+ * @see #getfunction()
+ * @generated
+ */
+ EReference getfunction_Expr();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.e4.cSS.URI <em>URI</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>URI</em>'.
+ * @see org.eclipse.e4.cSS.URI
+ * @generated
+ */
+ EClass getURI();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.e4.cSS.URI#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Name</em>'.
+ * @see org.eclipse.e4.cSS.URI#getName()
+ * @see #getURI()
+ * @generated
+ */
+ EAttribute getURI_Name();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.e4.cSS.URI#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Id</em>'.
+ * @see org.eclipse.e4.cSS.URI#getId()
+ * @see #getURI()
+ * @generated
+ */
+ EAttribute getURI_Id();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.e4.cSS.css_hash_class <em>css hash class</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>css hash class</em>'.
+ * @see org.eclipse.e4.cSS.css_hash_class
+ * @generated
+ */
+ EClass getcss_hash_class();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.e4.cSS.css_hash_class#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Type</em>'.
+ * @see org.eclipse.e4.cSS.css_hash_class#getType()
+ * @see #getcss_hash_class()
+ * @generated
+ */
+ EAttribute getcss_hash_class_Type();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.e4.cSS.css_hash_class#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.e4.cSS.css_hash_class#getName()
+ * @see #getcss_hash_class()
+ * @generated
+ */
+ EAttribute getcss_hash_class_Name();
+
+ /**
+ * 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
+ */
+ CSSFactory getCSSFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals
+ {
+ /**
+ * The meta object literal for the '{@link org.eclipse.e4.cSS.impl.stylesheetImpl <em>stylesheet</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.e4.cSS.impl.stylesheetImpl
+ * @see org.eclipse.e4.cSS.impl.CSSPackageImpl#getstylesheet()
+ * @generated
+ */
+ EClass STYLESHEET = eINSTANCE.getstylesheet();
+
+ /**
+ * The meta object literal for the '<em><b>Location</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute STYLESHEET__LOCATION = eINSTANCE.getstylesheet_Location();
+
+ /**
+ * The meta object literal for the '<em><b>Import Name</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference STYLESHEET__IMPORT_NAME = eINSTANCE.getstylesheet_ImportName();
+
+ /**
+ * The meta object literal for the '<em><b>Ruleset</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference STYLESHEET__RULESET = eINSTANCE.getstylesheet_Ruleset();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.e4.cSS.impl.RulesImpl <em>Rules</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.e4.cSS.impl.RulesImpl
+ * @see org.eclipse.e4.cSS.impl.CSSPackageImpl#getRules()
+ * @generated
+ */
+ EClass RULES = eINSTANCE.getRules();
+
+ /**
+ * The meta object literal for the '<em><b>Selectors</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RULES__SELECTORS = eINSTANCE.getRules_Selectors();
+
+ /**
+ * The meta object literal for the '<em><b>Declarations</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RULES__DECLARATIONS = eINSTANCE.getRules_Declarations();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.e4.cSS.impl.css_importImpl <em>css import</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.e4.cSS.impl.css_importImpl
+ * @see org.eclipse.e4.cSS.impl.CSSPackageImpl#getcss_import()
+ * @generated
+ */
+ EClass CSS_IMPORT = eINSTANCE.getcss_import();
+
+ /**
+ * The meta object literal for the '<em><b>String name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CSS_IMPORT__STRING_NAME = eINSTANCE.getcss_import_String_name();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.e4.cSS.impl.selectorImpl <em>selector</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.e4.cSS.impl.selectorImpl
+ * @see org.eclipse.e4.cSS.impl.CSSPackageImpl#getselector()
+ * @generated
+ */
+ EClass SELECTOR = eINSTANCE.getselector();
+
+ /**
+ * The meta object literal for the '<em><b>Simpleselectors</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SELECTOR__SIMPLESELECTORS = eINSTANCE.getselector_Simpleselectors();
+
+ /**
+ * The meta object literal for the '<em><b>Combinator</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SELECTOR__COMBINATOR = eINSTANCE.getselector_Combinator();
+
+ /**
+ * The meta object literal for the '<em><b>Selector</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SELECTOR__SELECTOR = eINSTANCE.getselector_Selector();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.e4.cSS.impl.simple_selectorImpl <em>simple selector</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.e4.cSS.impl.simple_selectorImpl
+ * @see org.eclipse.e4.cSS.impl.CSSPackageImpl#getsimple_selector()
+ * @generated
+ */
+ EClass SIMPLE_SELECTOR = eINSTANCE.getsimple_selector();
+
+ /**
+ * The meta object literal for the '<em><b>Element</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SIMPLE_SELECTOR__ELEMENT = eINSTANCE.getsimple_selector_Element();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SIMPLE_SELECTOR__ID = eINSTANCE.getsimple_selector_Id();
+
+ /**
+ * The meta object literal for the '<em><b>Pseudo</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SIMPLE_SELECTOR__PSEUDO = eINSTANCE.getsimple_selector_Pseudo();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.e4.cSS.impl.pseudoImpl <em>pseudo</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.e4.cSS.impl.pseudoImpl
+ * @see org.eclipse.e4.cSS.impl.CSSPackageImpl#getpseudo()
+ * @generated
+ */
+ EClass PSEUDO = eINSTANCE.getpseudo();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PSEUDO__NAME = eINSTANCE.getpseudo_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Function</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PSEUDO__FUNCTION = eINSTANCE.getpseudo_Function();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.e4.cSS.impl.element_nameImpl <em>element name</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.e4.cSS.impl.element_nameImpl
+ * @see org.eclipse.e4.cSS.impl.CSSPackageImpl#getelement_name()
+ * @generated
+ */
+ EClass ELEMENT_NAME = eINSTANCE.getelement_name();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ELEMENT_NAME__NAME = eINSTANCE.getelement_name_Name();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.e4.cSS.impl.declarationImpl <em>declaration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.e4.cSS.impl.declarationImpl
+ * @see org.eclipse.e4.cSS.impl.CSSPackageImpl#getdeclaration()
+ * @generated
+ */
+ EClass DECLARATION = eINSTANCE.getdeclaration();
+
+ /**
+ * The meta object literal for the '<em><b>Property</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DECLARATION__PROPERTY = eINSTANCE.getdeclaration_Property();
+
+ /**
+ * The meta object literal for the '<em><b>Expr</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DECLARATION__EXPR = eINSTANCE.getdeclaration_Expr();
+
+ /**
+ * The meta object literal for the '<em><b>Priority</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DECLARATION__PRIORITY = eINSTANCE.getdeclaration_Priority();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.e4.cSS.impl.exprImpl <em>expr</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.e4.cSS.impl.exprImpl
+ * @see org.eclipse.e4.cSS.impl.CSSPackageImpl#getexpr()
+ * @generated
+ */
+ EClass EXPR = eINSTANCE.getexpr();
+
+ /**
+ * The meta object literal for the '<em><b>Term</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EXPR__TERM = eINSTANCE.getexpr_Term();
+
+ /**
+ * The meta object literal for the '<em><b>Operators</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute EXPR__OPERATORS = eINSTANCE.getexpr_Operators();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.e4.cSS.impl.termImpl <em>term</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.e4.cSS.impl.termImpl
+ * @see org.eclipse.e4.cSS.impl.CSSPackageImpl#getterm()
+ * @generated
+ */
+ EClass TERM = eINSTANCE.getterm();
+
+ /**
+ * The meta object literal for the '<em><b>Unary</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TERM__UNARY = eINSTANCE.getterm_Unary();
+
+ /**
+ * The meta object literal for the '<em><b>Number</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TERM__NUMBER = eINSTANCE.getterm_Number();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TERM__NAME = eINSTANCE.getterm_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TERM__ID = eINSTANCE.getterm_Id();
+
+ /**
+ * The meta object literal for the '<em><b>Uri</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TERM__URI = eINSTANCE.getterm_Uri();
+
+ /**
+ * The meta object literal for the '<em><b>Color</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TERM__COLOR = eINSTANCE.getterm_Color();
+
+ /**
+ * The meta object literal for the '<em><b>Function</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TERM__FUNCTION = eINSTANCE.getterm_Function();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.e4.cSS.impl.functionImpl <em>function</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.e4.cSS.impl.functionImpl
+ * @see org.eclipse.e4.cSS.impl.CSSPackageImpl#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>Expr</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FUNCTION__EXPR = eINSTANCE.getfunction_Expr();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.e4.cSS.impl.URIImpl <em>URI</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.e4.cSS.impl.URIImpl
+ * @see org.eclipse.e4.cSS.impl.CSSPackageImpl#getURI()
+ * @generated
+ */
+ EClass URI = eINSTANCE.getURI();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute URI__NAME = eINSTANCE.getURI_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute URI__ID = eINSTANCE.getURI_Id();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.e4.cSS.impl.css_hash_classImpl <em>css hash class</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.e4.cSS.impl.css_hash_classImpl
+ * @see org.eclipse.e4.cSS.impl.CSSPackageImpl#getcss_hash_class()
+ * @generated
+ */
+ EClass CSS_HASH_CLASS = eINSTANCE.getcss_hash_class();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CSS_HASH_CLASS__TYPE = eINSTANCE.getcss_hash_class_Type();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CSS_HASH_CLASS__NAME = eINSTANCE.getcss_hash_class_Name();
+
+ }
+
+} //CSSPackage
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/Rules.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/Rules.java
new file mode 100644
index 00000000..759cb2b2
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/Rules.java
@@ -0,0 +1,64 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.e4.cSS;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Rules</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.e4.cSS.Rules#getSelectors <em>Selectors</em>}</li>
+ * <li>{@link org.eclipse.e4.cSS.Rules#getDeclarations <em>Declarations</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.e4.cSS.CSSPackage#getRules()
+ * @model
+ * @generated
+ */
+public interface Rules extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Selectors</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.e4.cSS.selector}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Selectors</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>Selectors</em>' containment reference list.
+ * @see org.eclipse.e4.cSS.CSSPackage#getRules_Selectors()
+ * @model containment="true"
+ * @generated
+ */
+ EList<selector> getSelectors();
+
+ /**
+ * Returns the value of the '<em><b>Declarations</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.e4.cSS.declaration}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Declarations</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>Declarations</em>' containment reference list.
+ * @see org.eclipse.e4.cSS.CSSPackage#getRules_Declarations()
+ * @model containment="true"
+ * @generated
+ */
+ EList<declaration> getDeclarations();
+
+} // Rules
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/URI.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/URI.java
new file mode 100644
index 00000000..c0cc2613
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/URI.java
@@ -0,0 +1,62 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.e4.cSS;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>URI</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.e4.cSS.URI#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.e4.cSS.URI#getId <em>Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.e4.cSS.CSSPackage#getURI()
+ * @model
+ * @generated
+ */
+public interface URI extends css_import
+{
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute list.
+ * @see org.eclipse.e4.cSS.CSSPackage#getURI_Name()
+ * @model unique="false"
+ * @generated
+ */
+ EList<String> getName();
+
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Id</em>' attribute list.
+ * @see org.eclipse.e4.cSS.CSSPackage#getURI_Id()
+ * @model unique="false"
+ * @generated
+ */
+ EList<String> getId();
+
+} // URI
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/css_hash_class.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/css_hash_class.java
new file mode 100644
index 00000000..8655b5d3
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/css_hash_class.java
@@ -0,0 +1,82 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.e4.cSS;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>css hash class</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.e4.cSS.css_hash_class#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.e4.cSS.css_hash_class#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.e4.cSS.CSSPackage#getcss_hash_class()
+ * @model
+ * @generated
+ */
+public interface css_hash_class extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Type</em>' attribute.
+ * @see #setType(String)
+ * @see org.eclipse.e4.cSS.CSSPackage#getcss_hash_class_Type()
+ * @model
+ * @generated
+ */
+ String getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.e4.cSS.css_hash_class#getType <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type</em>' attribute.
+ * @see #getType()
+ * @generated
+ */
+ void setType(String value);
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.e4.cSS.CSSPackage#getcss_hash_class_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.e4.cSS.css_hash_class#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);
+
+} // css_hash_class
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/css_import.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/css_import.java
new file mode 100644
index 00000000..32710fbd
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/css_import.java
@@ -0,0 +1,55 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.e4.cSS;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>css import</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.e4.cSS.css_import#getString_name <em>String name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.e4.cSS.CSSPackage#getcss_import()
+ * @model
+ * @generated
+ */
+public interface css_import extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>String name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>String 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>String name</em>' attribute.
+ * @see #setString_name(String)
+ * @see org.eclipse.e4.cSS.CSSPackage#getcss_import_String_name()
+ * @model
+ * @generated
+ */
+ String getString_name();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.e4.cSS.css_import#getString_name <em>String name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>String name</em>' attribute.
+ * @see #getString_name()
+ * @generated
+ */
+ void setString_name(String value);
+
+} // css_import
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/declaration.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/declaration.java
new file mode 100644
index 00000000..0e9d831d
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/declaration.java
@@ -0,0 +1,109 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.e4.cSS;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>declaration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.e4.cSS.declaration#getProperty <em>Property</em>}</li>
+ * <li>{@link org.eclipse.e4.cSS.declaration#getExpr <em>Expr</em>}</li>
+ * <li>{@link org.eclipse.e4.cSS.declaration#getPriority <em>Priority</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.e4.cSS.CSSPackage#getdeclaration()
+ * @model
+ * @generated
+ */
+public interface declaration extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Property</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Property</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Property</em>' attribute.
+ * @see #setProperty(String)
+ * @see org.eclipse.e4.cSS.CSSPackage#getdeclaration_Property()
+ * @model
+ * @generated
+ */
+ String getProperty();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.e4.cSS.declaration#getProperty <em>Property</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Property</em>' attribute.
+ * @see #getProperty()
+ * @generated
+ */
+ void setProperty(String value);
+
+ /**
+ * Returns the value of the '<em><b>Expr</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Expr</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>Expr</em>' containment reference.
+ * @see #setExpr(expr)
+ * @see org.eclipse.e4.cSS.CSSPackage#getdeclaration_Expr()
+ * @model containment="true"
+ * @generated
+ */
+ expr getExpr();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.e4.cSS.declaration#getExpr <em>Expr</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Expr</em>' containment reference.
+ * @see #getExpr()
+ * @generated
+ */
+ void setExpr(expr value);
+
+ /**
+ * Returns the value of the '<em><b>Priority</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Priority</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Priority</em>' attribute.
+ * @see #setPriority(String)
+ * @see org.eclipse.e4.cSS.CSSPackage#getdeclaration_Priority()
+ * @model
+ * @generated
+ */
+ String getPriority();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.e4.cSS.declaration#getPriority <em>Priority</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Priority</em>' attribute.
+ * @see #getPriority()
+ * @generated
+ */
+ void setPriority(String value);
+
+} // declaration
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/element_name.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/element_name.java
new file mode 100644
index 00000000..73052de6
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/element_name.java
@@ -0,0 +1,55 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.e4.cSS;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>element name</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.e4.cSS.element_name#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.e4.cSS.CSSPackage#getelement_name()
+ * @model
+ * @generated
+ */
+public interface element_name extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.e4.cSS.CSSPackage#getelement_name_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.e4.cSS.element_name#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);
+
+} // element_name
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/expr.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/expr.java
new file mode 100644
index 00000000..a3d39fe3
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/expr.java
@@ -0,0 +1,64 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.e4.cSS;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>expr</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.e4.cSS.expr#getTerm <em>Term</em>}</li>
+ * <li>{@link org.eclipse.e4.cSS.expr#getOperators <em>Operators</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.e4.cSS.CSSPackage#getexpr()
+ * @model
+ * @generated
+ */
+public interface expr extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Term</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.e4.cSS.term}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Term</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>Term</em>' containment reference list.
+ * @see org.eclipse.e4.cSS.CSSPackage#getexpr_Term()
+ * @model containment="true"
+ * @generated
+ */
+ EList<term> getTerm();
+
+ /**
+ * Returns the value of the '<em><b>Operators</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Operators</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Operators</em>' attribute list.
+ * @see org.eclipse.e4.cSS.CSSPackage#getexpr_Operators()
+ * @model unique="false"
+ * @generated
+ */
+ EList<String> getOperators();
+
+} // expr
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/function.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/function.java
new file mode 100644
index 00000000..8ecf5d79
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/function.java
@@ -0,0 +1,82 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.e4.cSS;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- 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.eclipse.e4.cSS.function#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.e4.cSS.function#getExpr <em>Expr</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.e4.cSS.CSSPackage#getfunction()
+ * @model
+ * @generated
+ */
+public interface function extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.e4.cSS.CSSPackage#getfunction_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.e4.cSS.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>Expr</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Expr</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>Expr</em>' containment reference.
+ * @see #setExpr(expr)
+ * @see org.eclipse.e4.cSS.CSSPackage#getfunction_Expr()
+ * @model containment="true"
+ * @generated
+ */
+ expr getExpr();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.e4.cSS.function#getExpr <em>Expr</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Expr</em>' containment reference.
+ * @see #getExpr()
+ * @generated
+ */
+ void setExpr(expr value);
+
+} // function
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/CSSFactoryImpl.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/CSSFactoryImpl.java
new file mode 100644
index 00000000..6c1496a7
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/CSSFactoryImpl.java
@@ -0,0 +1,254 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.e4.cSS.impl;
+
+import org.eclipse.e4.cSS.*;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CSSFactoryImpl extends EFactoryImpl implements CSSFactory
+{
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static CSSFactory init()
+ {
+ try
+ {
+ CSSFactory theCSSFactory = (CSSFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/e4/CSS");
+ if (theCSSFactory != null)
+ {
+ return theCSSFactory;
+ }
+ }
+ catch (Exception exception)
+ {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new CSSFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CSSFactoryImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass)
+ {
+ switch (eClass.getClassifierID())
+ {
+ case CSSPackage.STYLESHEET: return createstylesheet();
+ case CSSPackage.RULES: return createRules();
+ case CSSPackage.CSS_IMPORT: return createcss_import();
+ case CSSPackage.SELECTOR: return createselector();
+ case CSSPackage.SIMPLE_SELECTOR: return createsimple_selector();
+ case CSSPackage.PSEUDO: return createpseudo();
+ case CSSPackage.ELEMENT_NAME: return createelement_name();
+ case CSSPackage.DECLARATION: return createdeclaration();
+ case CSSPackage.EXPR: return createexpr();
+ case CSSPackage.TERM: return createterm();
+ case CSSPackage.FUNCTION: return createfunction();
+ case CSSPackage.URI: return createURI();
+ case CSSPackage.CSS_HASH_CLASS: return createcss_hash_class();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public stylesheet createstylesheet()
+ {
+ stylesheetImpl stylesheet = new stylesheetImpl();
+ return stylesheet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Rules createRules()
+ {
+ RulesImpl rules = new RulesImpl();
+ return rules;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public css_import createcss_import()
+ {
+ css_importImpl css_import = new css_importImpl();
+ return css_import;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public selector createselector()
+ {
+ selectorImpl selector = new selectorImpl();
+ return selector;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public simple_selector createsimple_selector()
+ {
+ simple_selectorImpl simple_selector = new simple_selectorImpl();
+ return simple_selector;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public pseudo createpseudo()
+ {
+ pseudoImpl pseudo = new pseudoImpl();
+ return pseudo;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public element_name createelement_name()
+ {
+ element_nameImpl element_name = new element_nameImpl();
+ return element_name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public declaration createdeclaration()
+ {
+ declarationImpl declaration = new declarationImpl();
+ return declaration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public expr createexpr()
+ {
+ exprImpl expr = new exprImpl();
+ return expr;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public term createterm()
+ {
+ termImpl term = new termImpl();
+ return term;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public function createfunction()
+ {
+ functionImpl function = new functionImpl();
+ return function;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public URI createURI()
+ {
+ URIImpl uri = new URIImpl();
+ return uri;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public css_hash_class createcss_hash_class()
+ {
+ css_hash_classImpl css_hash_class = new css_hash_classImpl();
+ return css_hash_class;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CSSPackage getCSSPackage()
+ {
+ return (CSSPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static CSSPackage getPackage()
+ {
+ return CSSPackage.eINSTANCE;
+ }
+
+} //CSSFactoryImpl
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/CSSPackageImpl.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/CSSPackageImpl.java
new file mode 100644
index 00000000..da6d9c45
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/CSSPackageImpl.java
@@ -0,0 +1,838 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.e4.cSS.impl;
+
+import org.eclipse.e4.cSS.CSSFactory;
+import org.eclipse.e4.cSS.CSSPackage;
+import org.eclipse.e4.cSS.Rules;
+import org.eclipse.e4.cSS.css_hash_class;
+import org.eclipse.e4.cSS.css_import;
+import org.eclipse.e4.cSS.declaration;
+import org.eclipse.e4.cSS.element_name;
+import org.eclipse.e4.cSS.expr;
+import org.eclipse.e4.cSS.function;
+import org.eclipse.e4.cSS.pseudo;
+import org.eclipse.e4.cSS.selector;
+import org.eclipse.e4.cSS.simple_selector;
+import org.eclipse.e4.cSS.stylesheet;
+import org.eclipse.e4.cSS.term;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CSSPackageImpl extends EPackageImpl implements CSSPackage
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass stylesheetEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass rulesEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass css_importEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass selectorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass simple_selectorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass pseudoEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass element_nameEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass declarationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass exprEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass termEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass functionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass uriEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass css_hash_classEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.e4.cSS.CSSPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private CSSPackageImpl()
+ {
+ super(eNS_URI, CSSFactory.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 CSSPackage#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 CSSPackage init()
+ {
+ if (isInited) return (CSSPackage)EPackage.Registry.INSTANCE.getEPackage(CSSPackage.eNS_URI);
+
+ // Obtain or create and register package
+ CSSPackageImpl theCSSPackage = (CSSPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof CSSPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new CSSPackageImpl());
+
+ isInited = true;
+
+ // Create package meta-data objects
+ theCSSPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theCSSPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theCSSPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(CSSPackage.eNS_URI, theCSSPackage);
+ return theCSSPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getstylesheet()
+ {
+ return stylesheetEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getstylesheet_Location()
+ {
+ return (EAttribute)stylesheetEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getstylesheet_ImportName()
+ {
+ return (EReference)stylesheetEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getstylesheet_Ruleset()
+ {
+ return (EReference)stylesheetEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRules()
+ {
+ return rulesEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRules_Selectors()
+ {
+ return (EReference)rulesEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRules_Declarations()
+ {
+ return (EReference)rulesEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getcss_import()
+ {
+ return css_importEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getcss_import_String_name()
+ {
+ return (EAttribute)css_importEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getselector()
+ {
+ return selectorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getselector_Simpleselectors()
+ {
+ return (EReference)selectorEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getselector_Combinator()
+ {
+ return (EAttribute)selectorEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getselector_Selector()
+ {
+ return (EReference)selectorEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getsimple_selector()
+ {
+ return simple_selectorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getsimple_selector_Element()
+ {
+ return (EReference)simple_selectorEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getsimple_selector_Id()
+ {
+ return (EReference)simple_selectorEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getsimple_selector_Pseudo()
+ {
+ return (EReference)simple_selectorEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getpseudo()
+ {
+ return pseudoEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getpseudo_Name()
+ {
+ return (EAttribute)pseudoEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getpseudo_Function()
+ {
+ return (EReference)pseudoEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getelement_name()
+ {
+ return element_nameEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getelement_name_Name()
+ {
+ return (EAttribute)element_nameEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getdeclaration()
+ {
+ return declarationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getdeclaration_Property()
+ {
+ return (EAttribute)declarationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getdeclaration_Expr()
+ {
+ return (EReference)declarationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getdeclaration_Priority()
+ {
+ return (EAttribute)declarationEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getexpr()
+ {
+ return exprEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getexpr_Term()
+ {
+ return (EReference)exprEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getexpr_Operators()
+ {
+ return (EAttribute)exprEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getterm()
+ {
+ return termEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getterm_Unary()
+ {
+ return (EAttribute)termEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getterm_Number()
+ {
+ return (EAttribute)termEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getterm_Name()
+ {
+ return (EAttribute)termEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getterm_Id()
+ {
+ return (EAttribute)termEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getterm_Uri()
+ {
+ return (EReference)termEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getterm_Color()
+ {
+ return (EAttribute)termEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getterm_Function()
+ {
+ return (EReference)termEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- 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_Expr()
+ {
+ return (EReference)functionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getURI()
+ {
+ return uriEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getURI_Name()
+ {
+ return (EAttribute)uriEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getURI_Id()
+ {
+ return (EAttribute)uriEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getcss_hash_class()
+ {
+ return css_hash_classEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getcss_hash_class_Type()
+ {
+ return (EAttribute)css_hash_classEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getcss_hash_class_Name()
+ {
+ return (EAttribute)css_hash_classEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CSSFactory getCSSFactory()
+ {
+ return (CSSFactory)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
+ stylesheetEClass = createEClass(STYLESHEET);
+ createEAttribute(stylesheetEClass, STYLESHEET__LOCATION);
+ createEReference(stylesheetEClass, STYLESHEET__IMPORT_NAME);
+ createEReference(stylesheetEClass, STYLESHEET__RULESET);
+
+ rulesEClass = createEClass(RULES);
+ createEReference(rulesEClass, RULES__SELECTORS);
+ createEReference(rulesEClass, RULES__DECLARATIONS);
+
+ css_importEClass = createEClass(CSS_IMPORT);
+ createEAttribute(css_importEClass, CSS_IMPORT__STRING_NAME);
+
+ selectorEClass = createEClass(SELECTOR);
+ createEReference(selectorEClass, SELECTOR__SIMPLESELECTORS);
+ createEAttribute(selectorEClass, SELECTOR__COMBINATOR);
+ createEReference(selectorEClass, SELECTOR__SELECTOR);
+
+ simple_selectorEClass = createEClass(SIMPLE_SELECTOR);
+ createEReference(simple_selectorEClass, SIMPLE_SELECTOR__ELEMENT);
+ createEReference(simple_selectorEClass, SIMPLE_SELECTOR__ID);
+ createEReference(simple_selectorEClass, SIMPLE_SELECTOR__PSEUDO);
+
+ pseudoEClass = createEClass(PSEUDO);
+ createEAttribute(pseudoEClass, PSEUDO__NAME);
+ createEReference(pseudoEClass, PSEUDO__FUNCTION);
+
+ element_nameEClass = createEClass(ELEMENT_NAME);
+ createEAttribute(element_nameEClass, ELEMENT_NAME__NAME);
+
+ declarationEClass = createEClass(DECLARATION);
+ createEAttribute(declarationEClass, DECLARATION__PROPERTY);
+ createEReference(declarationEClass, DECLARATION__EXPR);
+ createEAttribute(declarationEClass, DECLARATION__PRIORITY);
+
+ exprEClass = createEClass(EXPR);
+ createEReference(exprEClass, EXPR__TERM);
+ createEAttribute(exprEClass, EXPR__OPERATORS);
+
+ termEClass = createEClass(TERM);
+ createEAttribute(termEClass, TERM__UNARY);
+ createEAttribute(termEClass, TERM__NUMBER);
+ createEAttribute(termEClass, TERM__NAME);
+ createEAttribute(termEClass, TERM__ID);
+ createEReference(termEClass, TERM__URI);
+ createEAttribute(termEClass, TERM__COLOR);
+ createEReference(termEClass, TERM__FUNCTION);
+
+ functionEClass = createEClass(FUNCTION);
+ createEAttribute(functionEClass, FUNCTION__NAME);
+ createEReference(functionEClass, FUNCTION__EXPR);
+
+ uriEClass = createEClass(URI);
+ createEAttribute(uriEClass, URI__NAME);
+ createEAttribute(uriEClass, URI__ID);
+
+ css_hash_classEClass = createEClass(CSS_HASH_CLASS);
+ createEAttribute(css_hash_classEClass, CSS_HASH_CLASS__TYPE);
+ createEAttribute(css_hash_classEClass, CSS_HASH_CLASS__NAME);
+ }
+
+ /**
+ * <!-- 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
+ uriEClass.getESuperTypes().add(this.getcss_import());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(stylesheetEClass, stylesheet.class, "stylesheet", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getstylesheet_Location(), ecorePackage.getEString(), "location", null, 0, 1, stylesheet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getstylesheet_ImportName(), this.getcss_import(), null, "importName", null, 0, -1, stylesheet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getstylesheet_Ruleset(), this.getRules(), null, "ruleset", null, 0, -1, stylesheet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(rulesEClass, Rules.class, "Rules", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRules_Selectors(), this.getselector(), null, "selectors", null, 0, -1, Rules.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRules_Declarations(), this.getdeclaration(), null, "declarations", null, 0, -1, Rules.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(css_importEClass, css_import.class, "css_import", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getcss_import_String_name(), ecorePackage.getEString(), "string_name", null, 0, 1, css_import.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(selectorEClass, selector.class, "selector", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getselector_Simpleselectors(), this.getsimple_selector(), null, "simpleselectors", null, 0, 1, selector.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getselector_Combinator(), ecorePackage.getEString(), "combinator", null, 0, 1, selector.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getselector_Selector(), this.getselector(), null, "selector", null, 0, 1, selector.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(simple_selectorEClass, simple_selector.class, "simple_selector", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getsimple_selector_Element(), this.getelement_name(), null, "element", null, 0, 1, simple_selector.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getsimple_selector_Id(), this.getcss_hash_class(), null, "id", null, 0, -1, simple_selector.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getsimple_selector_Pseudo(), this.getpseudo(), null, "pseudo", null, 0, -1, simple_selector.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(pseudoEClass, pseudo.class, "pseudo", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getpseudo_Name(), ecorePackage.getEString(), "name", null, 0, 1, pseudo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getpseudo_Function(), this.getfunction(), null, "function", null, 0, 1, pseudo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(element_nameEClass, element_name.class, "element_name", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getelement_name_Name(), ecorePackage.getEString(), "name", null, 0, 1, element_name.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(declarationEClass, declaration.class, "declaration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getdeclaration_Property(), ecorePackage.getEString(), "property", null, 0, 1, declaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getdeclaration_Expr(), this.getexpr(), null, "expr", null, 0, 1, declaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getdeclaration_Priority(), ecorePackage.getEString(), "priority", null, 0, 1, declaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(exprEClass, expr.class, "expr", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getexpr_Term(), this.getterm(), null, "term", null, 0, -1, expr.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getexpr_Operators(), ecorePackage.getEString(), "operators", null, 0, -1, expr.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(termEClass, term.class, "term", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getterm_Unary(), ecorePackage.getEString(), "unary", null, 0, 1, term.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getterm_Number(), ecorePackage.getEString(), "number", null, 0, 1, term.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getterm_Name(), ecorePackage.getEString(), "name", null, 0, 1, term.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getterm_Id(), ecorePackage.getEString(), "id", null, 0, 1, term.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getterm_Uri(), this.getURI(), null, "uri", 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_Color(), ecorePackage.getEString(), "color", null, 0, 1, term.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getterm_Function(), this.getfunction(), null, "function", 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(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_Expr(), this.getexpr(), null, "expr", 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(uriEClass, org.eclipse.e4.cSS.URI.class, "URI", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getURI_Name(), ecorePackage.getEString(), "name", null, 0, -1, org.eclipse.e4.cSS.URI.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getURI_Id(), ecorePackage.getEString(), "id", null, 0, -1, org.eclipse.e4.cSS.URI.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(css_hash_classEClass, css_hash_class.class, "css_hash_class", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getcss_hash_class_Type(), ecorePackage.getEString(), "type", null, 0, 1, css_hash_class.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getcss_hash_class_Name(), ecorePackage.getEString(), "name", null, 0, 1, css_hash_class.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //CSSPackageImpl
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/RulesImpl.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/RulesImpl.java
new file mode 100644
index 00000000..7525fe53
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/RulesImpl.java
@@ -0,0 +1,210 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.e4.cSS.impl;
+
+import java.util.Collection;
+
+import org.eclipse.e4.cSS.CSSPackage;
+import org.eclipse.e4.cSS.Rules;
+import org.eclipse.e4.cSS.declaration;
+import org.eclipse.e4.cSS.selector;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Rules</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.e4.cSS.impl.RulesImpl#getSelectors <em>Selectors</em>}</li>
+ * <li>{@link org.eclipse.e4.cSS.impl.RulesImpl#getDeclarations <em>Declarations</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RulesImpl extends MinimalEObjectImpl.Container implements Rules
+{
+ /**
+ * The cached value of the '{@link #getSelectors() <em>Selectors</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSelectors()
+ * @generated
+ * @ordered
+ */
+ protected EList<selector> selectors;
+
+ /**
+ * The cached value of the '{@link #getDeclarations() <em>Declarations</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDeclarations()
+ * @generated
+ * @ordered
+ */
+ protected EList<declaration> declarations;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RulesImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CSSPackage.Literals.RULES;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<selector> getSelectors()
+ {
+ if (selectors == null)
+ {
+ selectors = new EObjectContainmentEList<selector>(selector.class, this, CSSPackage.RULES__SELECTORS);
+ }
+ return selectors;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<declaration> getDeclarations()
+ {
+ if (declarations == null)
+ {
+ declarations = new EObjectContainmentEList<declaration>(declaration.class, this, CSSPackage.RULES__DECLARATIONS);
+ }
+ return declarations;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.RULES__SELECTORS:
+ return ((InternalEList<?>)getSelectors()).basicRemove(otherEnd, msgs);
+ case CSSPackage.RULES__DECLARATIONS:
+ return ((InternalEList<?>)getDeclarations()).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 CSSPackage.RULES__SELECTORS:
+ return getSelectors();
+ case CSSPackage.RULES__DECLARATIONS:
+ return getDeclarations();
+ }
+ 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 CSSPackage.RULES__SELECTORS:
+ getSelectors().clear();
+ getSelectors().addAll((Collection<? extends selector>)newValue);
+ return;
+ case CSSPackage.RULES__DECLARATIONS:
+ getDeclarations().clear();
+ getDeclarations().addAll((Collection<? extends declaration>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.RULES__SELECTORS:
+ getSelectors().clear();
+ return;
+ case CSSPackage.RULES__DECLARATIONS:
+ getDeclarations().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.RULES__SELECTORS:
+ return selectors != null && !selectors.isEmpty();
+ case CSSPackage.RULES__DECLARATIONS:
+ return declarations != null && !declarations.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //RulesImpl
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/URIImpl.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/URIImpl.java
new file mode 100644
index 00000000..800404d5
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/URIImpl.java
@@ -0,0 +1,203 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.e4.cSS.impl;
+
+import java.util.Collection;
+
+import org.eclipse.e4.cSS.CSSPackage;
+import org.eclipse.e4.cSS.URI;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>URI</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.e4.cSS.impl.URIImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.e4.cSS.impl.URIImpl#getId <em>Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class URIImpl extends css_importImpl implements URI
+{
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> name;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> id;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected URIImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CSSPackage.Literals.URI;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getName()
+ {
+ if (name == null)
+ {
+ name = new EDataTypeEList<String>(String.class, this, CSSPackage.URI__NAME);
+ }
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getId()
+ {
+ if (id == null)
+ {
+ id = new EDataTypeEList<String>(String.class, this, CSSPackage.URI__ID);
+ }
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.URI__NAME:
+ return getName();
+ case CSSPackage.URI__ID:
+ return getId();
+ }
+ 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 CSSPackage.URI__NAME:
+ getName().clear();
+ getName().addAll((Collection<? extends String>)newValue);
+ return;
+ case CSSPackage.URI__ID:
+ getId().clear();
+ getId().addAll((Collection<? extends String>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.URI__NAME:
+ getName().clear();
+ return;
+ case CSSPackage.URI__ID:
+ getId().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.URI__NAME:
+ return name != null && !name.isEmpty();
+ case CSSPackage.URI__ID:
+ return id != null && !id.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(", id: ");
+ result.append(id);
+ result.append(')');
+ return result.toString();
+ }
+
+} //URIImpl
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/css_hash_classImpl.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/css_hash_classImpl.java
new file mode 100644
index 00000000..206e4b70
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/css_hash_classImpl.java
@@ -0,0 +1,237 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.e4.cSS.impl;
+
+import org.eclipse.e4.cSS.CSSPackage;
+import org.eclipse.e4.cSS.css_hash_class;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>css hash class</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.e4.cSS.impl.css_hash_classImpl#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.e4.cSS.impl.css_hash_classImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class css_hash_classImpl extends MinimalEObjectImpl.Container implements css_hash_class
+{
+ /**
+ * The default value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected static final String TYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected String type = TYPE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected css_hash_classImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CSSPackage.Literals.CSS_HASH_CLASS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getType()
+ {
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(String newType)
+ {
+ String oldType = type;
+ type = newType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CSSPackage.CSS_HASH_CLASS__TYPE, oldType, type));
+ }
+
+ /**
+ * <!-- 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, CSSPackage.CSS_HASH_CLASS__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.CSS_HASH_CLASS__TYPE:
+ return getType();
+ case CSSPackage.CSS_HASH_CLASS__NAME:
+ return getName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.CSS_HASH_CLASS__TYPE:
+ setType((String)newValue);
+ return;
+ case CSSPackage.CSS_HASH_CLASS__NAME:
+ setName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.CSS_HASH_CLASS__TYPE:
+ setType(TYPE_EDEFAULT);
+ return;
+ case CSSPackage.CSS_HASH_CLASS__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.CSS_HASH_CLASS__TYPE:
+ return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
+ case CSSPackage.CSS_HASH_CLASS__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (type: ");
+ result.append(type);
+ result.append(", name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //css_hash_classImpl
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/css_importImpl.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/css_importImpl.java
new file mode 100644
index 00000000..ec9a5ef2
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/css_importImpl.java
@@ -0,0 +1,181 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.e4.cSS.impl;
+
+import org.eclipse.e4.cSS.CSSPackage;
+import org.eclipse.e4.cSS.css_import;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>css import</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.e4.cSS.impl.css_importImpl#getString_name <em>String name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class css_importImpl extends MinimalEObjectImpl.Container implements css_import
+{
+ /**
+ * The default value of the '{@link #getString_name() <em>String name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getString_name()
+ * @generated
+ * @ordered
+ */
+ protected static final String STRING_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getString_name() <em>String name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getString_name()
+ * @generated
+ * @ordered
+ */
+ protected String string_name = STRING_NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected css_importImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CSSPackage.Literals.CSS_IMPORT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getString_name()
+ {
+ return string_name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setString_name(String newString_name)
+ {
+ String oldString_name = string_name;
+ string_name = newString_name;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CSSPackage.CSS_IMPORT__STRING_NAME, oldString_name, string_name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.CSS_IMPORT__STRING_NAME:
+ return getString_name();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.CSS_IMPORT__STRING_NAME:
+ setString_name((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.CSS_IMPORT__STRING_NAME:
+ setString_name(STRING_NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.CSS_IMPORT__STRING_NAME:
+ return STRING_NAME_EDEFAULT == null ? string_name != null : !STRING_NAME_EDEFAULT.equals(string_name);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (string_name: ");
+ result.append(string_name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //css_importImpl
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/declarationImpl.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/declarationImpl.java
new file mode 100644
index 00000000..5fb819ae
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/declarationImpl.java
@@ -0,0 +1,325 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.e4.cSS.impl;
+
+import org.eclipse.e4.cSS.CSSPackage;
+import org.eclipse.e4.cSS.declaration;
+import org.eclipse.e4.cSS.expr;
+
+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;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>declaration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.e4.cSS.impl.declarationImpl#getProperty <em>Property</em>}</li>
+ * <li>{@link org.eclipse.e4.cSS.impl.declarationImpl#getExpr <em>Expr</em>}</li>
+ * <li>{@link org.eclipse.e4.cSS.impl.declarationImpl#getPriority <em>Priority</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class declarationImpl extends MinimalEObjectImpl.Container implements declaration
+{
+ /**
+ * The default value of the '{@link #getProperty() <em>Property</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProperty()
+ * @generated
+ * @ordered
+ */
+ protected static final String PROPERTY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getProperty() <em>Property</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProperty()
+ * @generated
+ * @ordered
+ */
+ protected String property = PROPERTY_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getExpr() <em>Expr</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExpr()
+ * @generated
+ * @ordered
+ */
+ protected expr expr;
+
+ /**
+ * The default value of the '{@link #getPriority() <em>Priority</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPriority()
+ * @generated
+ * @ordered
+ */
+ protected static final String PRIORITY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPriority() <em>Priority</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPriority()
+ * @generated
+ * @ordered
+ */
+ protected String priority = PRIORITY_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected declarationImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CSSPackage.Literals.DECLARATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getProperty()
+ {
+ return property;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setProperty(String newProperty)
+ {
+ String oldProperty = property;
+ property = newProperty;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CSSPackage.DECLARATION__PROPERTY, oldProperty, property));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public expr getExpr()
+ {
+ return expr;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetExpr(expr newExpr, NotificationChain msgs)
+ {
+ expr oldExpr = expr;
+ expr = newExpr;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CSSPackage.DECLARATION__EXPR, oldExpr, newExpr);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExpr(expr newExpr)
+ {
+ if (newExpr != expr)
+ {
+ NotificationChain msgs = null;
+ if (expr != null)
+ msgs = ((InternalEObject)expr).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CSSPackage.DECLARATION__EXPR, null, msgs);
+ if (newExpr != null)
+ msgs = ((InternalEObject)newExpr).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CSSPackage.DECLARATION__EXPR, null, msgs);
+ msgs = basicSetExpr(newExpr, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CSSPackage.DECLARATION__EXPR, newExpr, newExpr));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getPriority()
+ {
+ return priority;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPriority(String newPriority)
+ {
+ String oldPriority = priority;
+ priority = newPriority;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CSSPackage.DECLARATION__PRIORITY, oldPriority, priority));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.DECLARATION__EXPR:
+ return basicSetExpr(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 CSSPackage.DECLARATION__PROPERTY:
+ return getProperty();
+ case CSSPackage.DECLARATION__EXPR:
+ return getExpr();
+ case CSSPackage.DECLARATION__PRIORITY:
+ return getPriority();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.DECLARATION__PROPERTY:
+ setProperty((String)newValue);
+ return;
+ case CSSPackage.DECLARATION__EXPR:
+ setExpr((expr)newValue);
+ return;
+ case CSSPackage.DECLARATION__PRIORITY:
+ setPriority((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.DECLARATION__PROPERTY:
+ setProperty(PROPERTY_EDEFAULT);
+ return;
+ case CSSPackage.DECLARATION__EXPR:
+ setExpr((expr)null);
+ return;
+ case CSSPackage.DECLARATION__PRIORITY:
+ setPriority(PRIORITY_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.DECLARATION__PROPERTY:
+ return PROPERTY_EDEFAULT == null ? property != null : !PROPERTY_EDEFAULT.equals(property);
+ case CSSPackage.DECLARATION__EXPR:
+ return expr != null;
+ case CSSPackage.DECLARATION__PRIORITY:
+ return PRIORITY_EDEFAULT == null ? priority != null : !PRIORITY_EDEFAULT.equals(priority);
+ }
+ 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(" (property: ");
+ result.append(property);
+ result.append(", priority: ");
+ result.append(priority);
+ result.append(')');
+ return result.toString();
+ }
+
+} //declarationImpl
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/element_nameImpl.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/element_nameImpl.java
new file mode 100644
index 00000000..9a20c8d6
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/element_nameImpl.java
@@ -0,0 +1,181 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.e4.cSS.impl;
+
+import org.eclipse.e4.cSS.CSSPackage;
+import org.eclipse.e4.cSS.element_name;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>element name</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.e4.cSS.impl.element_nameImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class element_nameImpl extends MinimalEObjectImpl.Container implements element_name
+{
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected element_nameImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CSSPackage.Literals.ELEMENT_NAME;
+ }
+
+ /**
+ * <!-- 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, CSSPackage.ELEMENT_NAME__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.ELEMENT_NAME__NAME:
+ return getName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.ELEMENT_NAME__NAME:
+ setName((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.ELEMENT_NAME__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.ELEMENT_NAME__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //element_nameImpl
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/exprImpl.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/exprImpl.java
new file mode 100644
index 00000000..f1fabd98
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/exprImpl.java
@@ -0,0 +1,225 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.e4.cSS.impl;
+
+import java.util.Collection;
+
+import org.eclipse.e4.cSS.CSSPackage;
+import org.eclipse.e4.cSS.expr;
+import org.eclipse.e4.cSS.term;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>expr</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.e4.cSS.impl.exprImpl#getTerm <em>Term</em>}</li>
+ * <li>{@link org.eclipse.e4.cSS.impl.exprImpl#getOperators <em>Operators</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class exprImpl extends MinimalEObjectImpl.Container implements expr
+{
+ /**
+ * The cached value of the '{@link #getTerm() <em>Term</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTerm()
+ * @generated
+ * @ordered
+ */
+ protected EList<term> term;
+
+ /**
+ * The cached value of the '{@link #getOperators() <em>Operators</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOperators()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> operators;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected exprImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CSSPackage.Literals.EXPR;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<term> getTerm()
+ {
+ if (term == null)
+ {
+ term = new EObjectContainmentEList<term>(term.class, this, CSSPackage.EXPR__TERM);
+ }
+ return term;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getOperators()
+ {
+ if (operators == null)
+ {
+ operators = new EDataTypeEList<String>(String.class, this, CSSPackage.EXPR__OPERATORS);
+ }
+ return operators;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.EXPR__TERM:
+ return ((InternalEList<?>)getTerm()).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 CSSPackage.EXPR__TERM:
+ return getTerm();
+ case CSSPackage.EXPR__OPERATORS:
+ return getOperators();
+ }
+ 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 CSSPackage.EXPR__TERM:
+ getTerm().clear();
+ getTerm().addAll((Collection<? extends term>)newValue);
+ return;
+ case CSSPackage.EXPR__OPERATORS:
+ getOperators().clear();
+ getOperators().addAll((Collection<? extends String>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.EXPR__TERM:
+ getTerm().clear();
+ return;
+ case CSSPackage.EXPR__OPERATORS:
+ getOperators().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.EXPR__TERM:
+ return term != null && !term.isEmpty();
+ case CSSPackage.EXPR__OPERATORS:
+ return operators != null && !operators.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(" (operators: ");
+ result.append(operators);
+ result.append(')');
+ return result.toString();
+ }
+
+} //exprImpl
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/functionImpl.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/functionImpl.java
new file mode 100644
index 00000000..01717971
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/functionImpl.java
@@ -0,0 +1,269 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.e4.cSS.impl;
+
+import org.eclipse.e4.cSS.CSSPackage;
+import org.eclipse.e4.cSS.expr;
+import org.eclipse.e4.cSS.function;
+
+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;
+
+/**
+ * <!-- 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.eclipse.e4.cSS.impl.functionImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.e4.cSS.impl.functionImpl#getExpr <em>Expr</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class functionImpl extends MinimalEObjectImpl.Container 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 #getExpr() <em>Expr</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExpr()
+ * @generated
+ * @ordered
+ */
+ protected expr expr;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected functionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CSSPackage.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, CSSPackage.FUNCTION__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public expr getExpr()
+ {
+ return expr;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetExpr(expr newExpr, NotificationChain msgs)
+ {
+ expr oldExpr = expr;
+ expr = newExpr;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CSSPackage.FUNCTION__EXPR, oldExpr, newExpr);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExpr(expr newExpr)
+ {
+ if (newExpr != expr)
+ {
+ NotificationChain msgs = null;
+ if (expr != null)
+ msgs = ((InternalEObject)expr).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CSSPackage.FUNCTION__EXPR, null, msgs);
+ if (newExpr != null)
+ msgs = ((InternalEObject)newExpr).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CSSPackage.FUNCTION__EXPR, null, msgs);
+ msgs = basicSetExpr(newExpr, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CSSPackage.FUNCTION__EXPR, newExpr, newExpr));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.FUNCTION__EXPR:
+ return basicSetExpr(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 CSSPackage.FUNCTION__NAME:
+ return getName();
+ case CSSPackage.FUNCTION__EXPR:
+ return getExpr();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.FUNCTION__NAME:
+ setName((String)newValue);
+ return;
+ case CSSPackage.FUNCTION__EXPR:
+ setExpr((expr)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.FUNCTION__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case CSSPackage.FUNCTION__EXPR:
+ setExpr((expr)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.FUNCTION__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case CSSPackage.FUNCTION__EXPR:
+ return expr != 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(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //functionImpl
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/pseudoImpl.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/pseudoImpl.java
new file mode 100644
index 00000000..cc038b23
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/pseudoImpl.java
@@ -0,0 +1,269 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.e4.cSS.impl;
+
+import org.eclipse.e4.cSS.CSSPackage;
+import org.eclipse.e4.cSS.function;
+import org.eclipse.e4.cSS.pseudo;
+
+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;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>pseudo</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.e4.cSS.impl.pseudoImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.e4.cSS.impl.pseudoImpl#getFunction <em>Function</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class pseudoImpl extends MinimalEObjectImpl.Container implements pseudo
+{
+ /**
+ * 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 #getFunction() <em>Function</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFunction()
+ * @generated
+ * @ordered
+ */
+ protected function function;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected pseudoImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CSSPackage.Literals.PSEUDO;
+ }
+
+ /**
+ * <!-- 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, CSSPackage.PSEUDO__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public function getFunction()
+ {
+ return function;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetFunction(function newFunction, NotificationChain msgs)
+ {
+ function oldFunction = function;
+ function = newFunction;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CSSPackage.PSEUDO__FUNCTION, oldFunction, newFunction);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFunction(function newFunction)
+ {
+ if (newFunction != function)
+ {
+ NotificationChain msgs = null;
+ if (function != null)
+ msgs = ((InternalEObject)function).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CSSPackage.PSEUDO__FUNCTION, null, msgs);
+ if (newFunction != null)
+ msgs = ((InternalEObject)newFunction).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CSSPackage.PSEUDO__FUNCTION, null, msgs);
+ msgs = basicSetFunction(newFunction, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CSSPackage.PSEUDO__FUNCTION, newFunction, newFunction));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.PSEUDO__FUNCTION:
+ return basicSetFunction(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 CSSPackage.PSEUDO__NAME:
+ return getName();
+ case CSSPackage.PSEUDO__FUNCTION:
+ return getFunction();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.PSEUDO__NAME:
+ setName((String)newValue);
+ return;
+ case CSSPackage.PSEUDO__FUNCTION:
+ setFunction((function)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.PSEUDO__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case CSSPackage.PSEUDO__FUNCTION:
+ setFunction((function)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.PSEUDO__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case CSSPackage.PSEUDO__FUNCTION:
+ return function != 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(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //pseudoImpl
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/selectorImpl.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/selectorImpl.java
new file mode 100644
index 00000000..8fcefb3b
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/selectorImpl.java
@@ -0,0 +1,340 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.e4.cSS.impl;
+
+import org.eclipse.e4.cSS.CSSPackage;
+import org.eclipse.e4.cSS.selector;
+import org.eclipse.e4.cSS.simple_selector;
+
+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;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>selector</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.e4.cSS.impl.selectorImpl#getSimpleselectors <em>Simpleselectors</em>}</li>
+ * <li>{@link org.eclipse.e4.cSS.impl.selectorImpl#getCombinator <em>Combinator</em>}</li>
+ * <li>{@link org.eclipse.e4.cSS.impl.selectorImpl#getSelector <em>Selector</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class selectorImpl extends MinimalEObjectImpl.Container implements selector
+{
+ /**
+ * The cached value of the '{@link #getSimpleselectors() <em>Simpleselectors</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSimpleselectors()
+ * @generated
+ * @ordered
+ */
+ protected simple_selector simpleselectors;
+
+ /**
+ * The default value of the '{@link #getCombinator() <em>Combinator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCombinator()
+ * @generated
+ * @ordered
+ */
+ protected static final String COMBINATOR_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getCombinator() <em>Combinator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCombinator()
+ * @generated
+ * @ordered
+ */
+ protected String combinator = COMBINATOR_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getSelector() <em>Selector</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSelector()
+ * @generated
+ * @ordered
+ */
+ protected selector selector;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected selectorImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CSSPackage.Literals.SELECTOR;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public simple_selector getSimpleselectors()
+ {
+ return simpleselectors;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSimpleselectors(simple_selector newSimpleselectors, NotificationChain msgs)
+ {
+ simple_selector oldSimpleselectors = simpleselectors;
+ simpleselectors = newSimpleselectors;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CSSPackage.SELECTOR__SIMPLESELECTORS, oldSimpleselectors, newSimpleselectors);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSimpleselectors(simple_selector newSimpleselectors)
+ {
+ if (newSimpleselectors != simpleselectors)
+ {
+ NotificationChain msgs = null;
+ if (simpleselectors != null)
+ msgs = ((InternalEObject)simpleselectors).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CSSPackage.SELECTOR__SIMPLESELECTORS, null, msgs);
+ if (newSimpleselectors != null)
+ msgs = ((InternalEObject)newSimpleselectors).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CSSPackage.SELECTOR__SIMPLESELECTORS, null, msgs);
+ msgs = basicSetSimpleselectors(newSimpleselectors, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CSSPackage.SELECTOR__SIMPLESELECTORS, newSimpleselectors, newSimpleselectors));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCombinator()
+ {
+ return combinator;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCombinator(String newCombinator)
+ {
+ String oldCombinator = combinator;
+ combinator = newCombinator;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CSSPackage.SELECTOR__COMBINATOR, oldCombinator, combinator));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public selector getSelector()
+ {
+ return selector;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetSelector(selector newSelector, NotificationChain msgs)
+ {
+ selector oldSelector = selector;
+ selector = newSelector;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CSSPackage.SELECTOR__SELECTOR, oldSelector, newSelector);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSelector(selector newSelector)
+ {
+ if (newSelector != selector)
+ {
+ NotificationChain msgs = null;
+ if (selector != null)
+ msgs = ((InternalEObject)selector).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CSSPackage.SELECTOR__SELECTOR, null, msgs);
+ if (newSelector != null)
+ msgs = ((InternalEObject)newSelector).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CSSPackage.SELECTOR__SELECTOR, null, msgs);
+ msgs = basicSetSelector(newSelector, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CSSPackage.SELECTOR__SELECTOR, newSelector, newSelector));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.SELECTOR__SIMPLESELECTORS:
+ return basicSetSimpleselectors(null, msgs);
+ case CSSPackage.SELECTOR__SELECTOR:
+ return basicSetSelector(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 CSSPackage.SELECTOR__SIMPLESELECTORS:
+ return getSimpleselectors();
+ case CSSPackage.SELECTOR__COMBINATOR:
+ return getCombinator();
+ case CSSPackage.SELECTOR__SELECTOR:
+ return getSelector();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.SELECTOR__SIMPLESELECTORS:
+ setSimpleselectors((simple_selector)newValue);
+ return;
+ case CSSPackage.SELECTOR__COMBINATOR:
+ setCombinator((String)newValue);
+ return;
+ case CSSPackage.SELECTOR__SELECTOR:
+ setSelector((selector)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.SELECTOR__SIMPLESELECTORS:
+ setSimpleselectors((simple_selector)null);
+ return;
+ case CSSPackage.SELECTOR__COMBINATOR:
+ setCombinator(COMBINATOR_EDEFAULT);
+ return;
+ case CSSPackage.SELECTOR__SELECTOR:
+ setSelector((selector)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.SELECTOR__SIMPLESELECTORS:
+ return simpleselectors != null;
+ case CSSPackage.SELECTOR__COMBINATOR:
+ return COMBINATOR_EDEFAULT == null ? combinator != null : !COMBINATOR_EDEFAULT.equals(combinator);
+ case CSSPackage.SELECTOR__SELECTOR:
+ return selector != 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(" (combinator: ");
+ result.append(combinator);
+ result.append(')');
+ return result.toString();
+ }
+
+} //selectorImpl
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/simple_selectorImpl.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/simple_selectorImpl.java
new file mode 100644
index 00000000..420022ea
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/simple_selectorImpl.java
@@ -0,0 +1,284 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.e4.cSS.impl;
+
+import java.util.Collection;
+
+import org.eclipse.e4.cSS.CSSPackage;
+import org.eclipse.e4.cSS.css_hash_class;
+import org.eclipse.e4.cSS.element_name;
+import org.eclipse.e4.cSS.pseudo;
+import org.eclipse.e4.cSS.simple_selector;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>simple selector</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.e4.cSS.impl.simple_selectorImpl#getElement <em>Element</em>}</li>
+ * <li>{@link org.eclipse.e4.cSS.impl.simple_selectorImpl#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.e4.cSS.impl.simple_selectorImpl#getPseudo <em>Pseudo</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class simple_selectorImpl extends MinimalEObjectImpl.Container implements simple_selector
+{
+ /**
+ * The cached value of the '{@link #getElement() <em>Element</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getElement()
+ * @generated
+ * @ordered
+ */
+ protected element_name element;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected EList<css_hash_class> id;
+
+ /**
+ * The cached value of the '{@link #getPseudo() <em>Pseudo</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPseudo()
+ * @generated
+ * @ordered
+ */
+ protected EList<pseudo> pseudo;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected simple_selectorImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CSSPackage.Literals.SIMPLE_SELECTOR;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public element_name getElement()
+ {
+ return element;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetElement(element_name newElement, NotificationChain msgs)
+ {
+ element_name oldElement = element;
+ element = newElement;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CSSPackage.SIMPLE_SELECTOR__ELEMENT, oldElement, newElement);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setElement(element_name newElement)
+ {
+ if (newElement != element)
+ {
+ NotificationChain msgs = null;
+ if (element != null)
+ msgs = ((InternalEObject)element).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CSSPackage.SIMPLE_SELECTOR__ELEMENT, null, msgs);
+ if (newElement != null)
+ msgs = ((InternalEObject)newElement).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CSSPackage.SIMPLE_SELECTOR__ELEMENT, null, msgs);
+ msgs = basicSetElement(newElement, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CSSPackage.SIMPLE_SELECTOR__ELEMENT, newElement, newElement));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<css_hash_class> getId()
+ {
+ if (id == null)
+ {
+ id = new EObjectContainmentEList<css_hash_class>(css_hash_class.class, this, CSSPackage.SIMPLE_SELECTOR__ID);
+ }
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<pseudo> getPseudo()
+ {
+ if (pseudo == null)
+ {
+ pseudo = new EObjectContainmentEList<pseudo>(pseudo.class, this, CSSPackage.SIMPLE_SELECTOR__PSEUDO);
+ }
+ return pseudo;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.SIMPLE_SELECTOR__ELEMENT:
+ return basicSetElement(null, msgs);
+ case CSSPackage.SIMPLE_SELECTOR__ID:
+ return ((InternalEList<?>)getId()).basicRemove(otherEnd, msgs);
+ case CSSPackage.SIMPLE_SELECTOR__PSEUDO:
+ return ((InternalEList<?>)getPseudo()).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 CSSPackage.SIMPLE_SELECTOR__ELEMENT:
+ return getElement();
+ case CSSPackage.SIMPLE_SELECTOR__ID:
+ return getId();
+ case CSSPackage.SIMPLE_SELECTOR__PSEUDO:
+ return getPseudo();
+ }
+ 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 CSSPackage.SIMPLE_SELECTOR__ELEMENT:
+ setElement((element_name)newValue);
+ return;
+ case CSSPackage.SIMPLE_SELECTOR__ID:
+ getId().clear();
+ getId().addAll((Collection<? extends css_hash_class>)newValue);
+ return;
+ case CSSPackage.SIMPLE_SELECTOR__PSEUDO:
+ getPseudo().clear();
+ getPseudo().addAll((Collection<? extends pseudo>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.SIMPLE_SELECTOR__ELEMENT:
+ setElement((element_name)null);
+ return;
+ case CSSPackage.SIMPLE_SELECTOR__ID:
+ getId().clear();
+ return;
+ case CSSPackage.SIMPLE_SELECTOR__PSEUDO:
+ getPseudo().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.SIMPLE_SELECTOR__ELEMENT:
+ return element != null;
+ case CSSPackage.SIMPLE_SELECTOR__ID:
+ return id != null && !id.isEmpty();
+ case CSSPackage.SIMPLE_SELECTOR__PSEUDO:
+ return pseudo != null && !pseudo.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //simple_selectorImpl
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/stylesheetImpl.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/stylesheetImpl.java
new file mode 100644
index 00000000..adf5db66
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/stylesheetImpl.java
@@ -0,0 +1,283 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.e4.cSS.impl;
+
+import java.util.Collection;
+
+import org.eclipse.e4.cSS.CSSPackage;
+import org.eclipse.e4.cSS.Rules;
+import org.eclipse.e4.cSS.css_import;
+import org.eclipse.e4.cSS.stylesheet;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>stylesheet</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.e4.cSS.impl.stylesheetImpl#getLocation <em>Location</em>}</li>
+ * <li>{@link org.eclipse.e4.cSS.impl.stylesheetImpl#getImportName <em>Import Name</em>}</li>
+ * <li>{@link org.eclipse.e4.cSS.impl.stylesheetImpl#getRuleset <em>Ruleset</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class stylesheetImpl extends MinimalEObjectImpl.Container implements stylesheet
+{
+ /**
+ * The default value of the '{@link #getLocation() <em>Location</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLocation()
+ * @generated
+ * @ordered
+ */
+ protected static final String LOCATION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getLocation() <em>Location</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLocation()
+ * @generated
+ * @ordered
+ */
+ protected String location = LOCATION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getImportName() <em>Import Name</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getImportName()
+ * @generated
+ * @ordered
+ */
+ protected EList<css_import> importName;
+
+ /**
+ * The cached value of the '{@link #getRuleset() <em>Ruleset</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRuleset()
+ * @generated
+ * @ordered
+ */
+ protected EList<Rules> ruleset;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected stylesheetImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CSSPackage.Literals.STYLESHEET;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLocation()
+ {
+ return location;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLocation(String newLocation)
+ {
+ String oldLocation = location;
+ location = newLocation;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CSSPackage.STYLESHEET__LOCATION, oldLocation, location));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<css_import> getImportName()
+ {
+ if (importName == null)
+ {
+ importName = new EObjectContainmentEList<css_import>(css_import.class, this, CSSPackage.STYLESHEET__IMPORT_NAME);
+ }
+ return importName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Rules> getRuleset()
+ {
+ if (ruleset == null)
+ {
+ ruleset = new EObjectContainmentEList<Rules>(Rules.class, this, CSSPackage.STYLESHEET__RULESET);
+ }
+ return ruleset;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.STYLESHEET__IMPORT_NAME:
+ return ((InternalEList<?>)getImportName()).basicRemove(otherEnd, msgs);
+ case CSSPackage.STYLESHEET__RULESET:
+ return ((InternalEList<?>)getRuleset()).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 CSSPackage.STYLESHEET__LOCATION:
+ return getLocation();
+ case CSSPackage.STYLESHEET__IMPORT_NAME:
+ return getImportName();
+ case CSSPackage.STYLESHEET__RULESET:
+ return getRuleset();
+ }
+ 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 CSSPackage.STYLESHEET__LOCATION:
+ setLocation((String)newValue);
+ return;
+ case CSSPackage.STYLESHEET__IMPORT_NAME:
+ getImportName().clear();
+ getImportName().addAll((Collection<? extends css_import>)newValue);
+ return;
+ case CSSPackage.STYLESHEET__RULESET:
+ getRuleset().clear();
+ getRuleset().addAll((Collection<? extends Rules>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.STYLESHEET__LOCATION:
+ setLocation(LOCATION_EDEFAULT);
+ return;
+ case CSSPackage.STYLESHEET__IMPORT_NAME:
+ getImportName().clear();
+ return;
+ case CSSPackage.STYLESHEET__RULESET:
+ getRuleset().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.STYLESHEET__LOCATION:
+ return LOCATION_EDEFAULT == null ? location != null : !LOCATION_EDEFAULT.equals(location);
+ case CSSPackage.STYLESHEET__IMPORT_NAME:
+ return importName != null && !importName.isEmpty();
+ case CSSPackage.STYLESHEET__RULESET:
+ return ruleset != null && !ruleset.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(" (location: ");
+ result.append(location);
+ result.append(')');
+ return result.toString();
+ }
+
+} //stylesheetImpl
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/termImpl.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/termImpl.java
new file mode 100644
index 00000000..54a28a2b
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/impl/termImpl.java
@@ -0,0 +1,565 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.e4.cSS.impl;
+
+import org.eclipse.e4.cSS.CSSPackage;
+import org.eclipse.e4.cSS.URI;
+import org.eclipse.e4.cSS.function;
+import org.eclipse.e4.cSS.term;
+
+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;
+
+/**
+ * <!-- 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.eclipse.e4.cSS.impl.termImpl#getUnary <em>Unary</em>}</li>
+ * <li>{@link org.eclipse.e4.cSS.impl.termImpl#getNumber <em>Number</em>}</li>
+ * <li>{@link org.eclipse.e4.cSS.impl.termImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.e4.cSS.impl.termImpl#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.e4.cSS.impl.termImpl#getUri <em>Uri</em>}</li>
+ * <li>{@link org.eclipse.e4.cSS.impl.termImpl#getColor <em>Color</em>}</li>
+ * <li>{@link org.eclipse.e4.cSS.impl.termImpl#getFunction <em>Function</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class termImpl extends MinimalEObjectImpl.Container implements term
+{
+ /**
+ * The default value of the '{@link #getUnary() <em>Unary</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUnary()
+ * @generated
+ * @ordered
+ */
+ protected static final String UNARY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUnary() <em>Unary</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUnary()
+ * @generated
+ * @ordered
+ */
+ protected String unary = UNARY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getNumber() <em>Number</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNumber()
+ * @generated
+ * @ordered
+ */
+ protected static final String NUMBER_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getNumber() <em>Number</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNumber()
+ * @generated
+ * @ordered
+ */
+ protected String number = NUMBER_EDEFAULT;
+
+ /**
+ * 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 default value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected static final String ID_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getId() <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getId()
+ * @generated
+ * @ordered
+ */
+ protected String id = ID_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getUri() <em>Uri</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUri()
+ * @generated
+ * @ordered
+ */
+ protected URI uri;
+
+ /**
+ * The default value of the '{@link #getColor() <em>Color</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getColor()
+ * @generated
+ * @ordered
+ */
+ protected static final String COLOR_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getColor() <em>Color</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getColor()
+ * @generated
+ * @ordered
+ */
+ protected String color = COLOR_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getFunction() <em>Function</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFunction()
+ * @generated
+ * @ordered
+ */
+ protected function function;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected termImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CSSPackage.Literals.TERM;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getUnary()
+ {
+ return unary;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUnary(String newUnary)
+ {
+ String oldUnary = unary;
+ unary = newUnary;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CSSPackage.TERM__UNARY, oldUnary, unary));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getNumber()
+ {
+ return number;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setNumber(String newNumber)
+ {
+ String oldNumber = number;
+ number = newNumber;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CSSPackage.TERM__NUMBER, oldNumber, number));
+ }
+
+ /**
+ * <!-- 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, CSSPackage.TERM__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getId()
+ {
+ return id;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setId(String newId)
+ {
+ String oldId = id;
+ id = newId;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CSSPackage.TERM__ID, oldId, id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public URI getUri()
+ {
+ return uri;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetUri(URI newUri, NotificationChain msgs)
+ {
+ URI oldUri = uri;
+ uri = newUri;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CSSPackage.TERM__URI, oldUri, newUri);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUri(URI newUri)
+ {
+ if (newUri != uri)
+ {
+ NotificationChain msgs = null;
+ if (uri != null)
+ msgs = ((InternalEObject)uri).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CSSPackage.TERM__URI, null, msgs);
+ if (newUri != null)
+ msgs = ((InternalEObject)newUri).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CSSPackage.TERM__URI, null, msgs);
+ msgs = basicSetUri(newUri, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CSSPackage.TERM__URI, newUri, newUri));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getColor()
+ {
+ return color;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setColor(String newColor)
+ {
+ String oldColor = color;
+ color = newColor;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CSSPackage.TERM__COLOR, oldColor, color));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public function getFunction()
+ {
+ return function;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetFunction(function newFunction, NotificationChain msgs)
+ {
+ function oldFunction = function;
+ function = newFunction;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CSSPackage.TERM__FUNCTION, oldFunction, newFunction);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFunction(function newFunction)
+ {
+ if (newFunction != function)
+ {
+ NotificationChain msgs = null;
+ if (function != null)
+ msgs = ((InternalEObject)function).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CSSPackage.TERM__FUNCTION, null, msgs);
+ if (newFunction != null)
+ msgs = ((InternalEObject)newFunction).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CSSPackage.TERM__FUNCTION, null, msgs);
+ msgs = basicSetFunction(newFunction, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CSSPackage.TERM__FUNCTION, newFunction, newFunction));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.TERM__URI:
+ return basicSetUri(null, msgs);
+ case CSSPackage.TERM__FUNCTION:
+ return basicSetFunction(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 CSSPackage.TERM__UNARY:
+ return getUnary();
+ case CSSPackage.TERM__NUMBER:
+ return getNumber();
+ case CSSPackage.TERM__NAME:
+ return getName();
+ case CSSPackage.TERM__ID:
+ return getId();
+ case CSSPackage.TERM__URI:
+ return getUri();
+ case CSSPackage.TERM__COLOR:
+ return getColor();
+ case CSSPackage.TERM__FUNCTION:
+ return getFunction();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.TERM__UNARY:
+ setUnary((String)newValue);
+ return;
+ case CSSPackage.TERM__NUMBER:
+ setNumber((String)newValue);
+ return;
+ case CSSPackage.TERM__NAME:
+ setName((String)newValue);
+ return;
+ case CSSPackage.TERM__ID:
+ setId((String)newValue);
+ return;
+ case CSSPackage.TERM__URI:
+ setUri((URI)newValue);
+ return;
+ case CSSPackage.TERM__COLOR:
+ setColor((String)newValue);
+ return;
+ case CSSPackage.TERM__FUNCTION:
+ setFunction((function)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.TERM__UNARY:
+ setUnary(UNARY_EDEFAULT);
+ return;
+ case CSSPackage.TERM__NUMBER:
+ setNumber(NUMBER_EDEFAULT);
+ return;
+ case CSSPackage.TERM__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case CSSPackage.TERM__ID:
+ setId(ID_EDEFAULT);
+ return;
+ case CSSPackage.TERM__URI:
+ setUri((URI)null);
+ return;
+ case CSSPackage.TERM__COLOR:
+ setColor(COLOR_EDEFAULT);
+ return;
+ case CSSPackage.TERM__FUNCTION:
+ setFunction((function)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CSSPackage.TERM__UNARY:
+ return UNARY_EDEFAULT == null ? unary != null : !UNARY_EDEFAULT.equals(unary);
+ case CSSPackage.TERM__NUMBER:
+ return NUMBER_EDEFAULT == null ? number != null : !NUMBER_EDEFAULT.equals(number);
+ case CSSPackage.TERM__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case CSSPackage.TERM__ID:
+ return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+ case CSSPackage.TERM__URI:
+ return uri != null;
+ case CSSPackage.TERM__COLOR:
+ return COLOR_EDEFAULT == null ? color != null : !COLOR_EDEFAULT.equals(color);
+ case CSSPackage.TERM__FUNCTION:
+ return function != 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(" (unary: ");
+ result.append(unary);
+ result.append(", number: ");
+ result.append(number);
+ result.append(", name: ");
+ result.append(name);
+ result.append(", id: ");
+ result.append(id);
+ result.append(", color: ");
+ result.append(color);
+ result.append(')');
+ return result.toString();
+ }
+
+} //termImpl
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/pseudo.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/pseudo.java
new file mode 100644
index 00000000..bea44c4d
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/pseudo.java
@@ -0,0 +1,82 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.e4.cSS;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>pseudo</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.e4.cSS.pseudo#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.e4.cSS.pseudo#getFunction <em>Function</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.e4.cSS.CSSPackage#getpseudo()
+ * @model
+ * @generated
+ */
+public interface pseudo extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.e4.cSS.CSSPackage#getpseudo_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.e4.cSS.pseudo#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>Function</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Function</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>Function</em>' containment reference.
+ * @see #setFunction(function)
+ * @see org.eclipse.e4.cSS.CSSPackage#getpseudo_Function()
+ * @model containment="true"
+ * @generated
+ */
+ function getFunction();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.e4.cSS.pseudo#getFunction <em>Function</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Function</em>' containment reference.
+ * @see #getFunction()
+ * @generated
+ */
+ void setFunction(function value);
+
+} // pseudo
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/selector.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/selector.java
new file mode 100644
index 00000000..a5431c4f
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/selector.java
@@ -0,0 +1,109 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.e4.cSS;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>selector</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.e4.cSS.selector#getSimpleselectors <em>Simpleselectors</em>}</li>
+ * <li>{@link org.eclipse.e4.cSS.selector#getCombinator <em>Combinator</em>}</li>
+ * <li>{@link org.eclipse.e4.cSS.selector#getSelector <em>Selector</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.e4.cSS.CSSPackage#getselector()
+ * @model
+ * @generated
+ */
+public interface selector extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Simpleselectors</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Simpleselectors</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>Simpleselectors</em>' containment reference.
+ * @see #setSimpleselectors(simple_selector)
+ * @see org.eclipse.e4.cSS.CSSPackage#getselector_Simpleselectors()
+ * @model containment="true"
+ * @generated
+ */
+ simple_selector getSimpleselectors();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.e4.cSS.selector#getSimpleselectors <em>Simpleselectors</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Simpleselectors</em>' containment reference.
+ * @see #getSimpleselectors()
+ * @generated
+ */
+ void setSimpleselectors(simple_selector value);
+
+ /**
+ * Returns the value of the '<em><b>Combinator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Combinator</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Combinator</em>' attribute.
+ * @see #setCombinator(String)
+ * @see org.eclipse.e4.cSS.CSSPackage#getselector_Combinator()
+ * @model
+ * @generated
+ */
+ String getCombinator();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.e4.cSS.selector#getCombinator <em>Combinator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Combinator</em>' attribute.
+ * @see #getCombinator()
+ * @generated
+ */
+ void setCombinator(String value);
+
+ /**
+ * Returns the value of the '<em><b>Selector</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Selector</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>Selector</em>' containment reference.
+ * @see #setSelector(selector)
+ * @see org.eclipse.e4.cSS.CSSPackage#getselector_Selector()
+ * @model containment="true"
+ * @generated
+ */
+ selector getSelector();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.e4.cSS.selector#getSelector <em>Selector</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Selector</em>' containment reference.
+ * @see #getSelector()
+ * @generated
+ */
+ void setSelector(selector value);
+
+} // selector
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/simple_selector.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/simple_selector.java
new file mode 100644
index 00000000..66768e91
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/simple_selector.java
@@ -0,0 +1,91 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.e4.cSS;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>simple selector</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.e4.cSS.simple_selector#getElement <em>Element</em>}</li>
+ * <li>{@link org.eclipse.e4.cSS.simple_selector#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.e4.cSS.simple_selector#getPseudo <em>Pseudo</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.e4.cSS.CSSPackage#getsimple_selector()
+ * @model
+ * @generated
+ */
+public interface simple_selector extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Element</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Element</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>Element</em>' containment reference.
+ * @see #setElement(element_name)
+ * @see org.eclipse.e4.cSS.CSSPackage#getsimple_selector_Element()
+ * @model containment="true"
+ * @generated
+ */
+ element_name getElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.e4.cSS.simple_selector#getElement <em>Element</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Element</em>' containment reference.
+ * @see #getElement()
+ * @generated
+ */
+ void setElement(element_name value);
+
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.e4.cSS.css_hash_class}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</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>Id</em>' containment reference list.
+ * @see org.eclipse.e4.cSS.CSSPackage#getsimple_selector_Id()
+ * @model containment="true"
+ * @generated
+ */
+ EList<css_hash_class> getId();
+
+ /**
+ * Returns the value of the '<em><b>Pseudo</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.e4.cSS.pseudo}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Pseudo</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>Pseudo</em>' containment reference list.
+ * @see org.eclipse.e4.cSS.CSSPackage#getsimple_selector_Pseudo()
+ * @model containment="true"
+ * @generated
+ */
+ EList<pseudo> getPseudo();
+
+} // simple_selector
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/stylesheet.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/stylesheet.java
new file mode 100644
index 00000000..2cb03394
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/stylesheet.java
@@ -0,0 +1,91 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.e4.cSS;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>stylesheet</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.e4.cSS.stylesheet#getLocation <em>Location</em>}</li>
+ * <li>{@link org.eclipse.e4.cSS.stylesheet#getImportName <em>Import Name</em>}</li>
+ * <li>{@link org.eclipse.e4.cSS.stylesheet#getRuleset <em>Ruleset</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.e4.cSS.CSSPackage#getstylesheet()
+ * @model
+ * @generated
+ */
+public interface stylesheet extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Location</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Location</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Location</em>' attribute.
+ * @see #setLocation(String)
+ * @see org.eclipse.e4.cSS.CSSPackage#getstylesheet_Location()
+ * @model
+ * @generated
+ */
+ String getLocation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.e4.cSS.stylesheet#getLocation <em>Location</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Location</em>' attribute.
+ * @see #getLocation()
+ * @generated
+ */
+ void setLocation(String value);
+
+ /**
+ * Returns the value of the '<em><b>Import Name</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.e4.cSS.css_import}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Import Name</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>Import Name</em>' containment reference list.
+ * @see org.eclipse.e4.cSS.CSSPackage#getstylesheet_ImportName()
+ * @model containment="true"
+ * @generated
+ */
+ EList<css_import> getImportName();
+
+ /**
+ * Returns the value of the '<em><b>Ruleset</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.e4.cSS.Rules}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Ruleset</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>Ruleset</em>' containment reference list.
+ * @see org.eclipse.e4.cSS.CSSPackage#getstylesheet_Ruleset()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Rules> getRuleset();
+
+} // stylesheet
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/term.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/term.java
new file mode 100644
index 00000000..6a97eb7b
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/term.java
@@ -0,0 +1,217 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.e4.cSS;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- 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.eclipse.e4.cSS.term#getUnary <em>Unary</em>}</li>
+ * <li>{@link org.eclipse.e4.cSS.term#getNumber <em>Number</em>}</li>
+ * <li>{@link org.eclipse.e4.cSS.term#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.e4.cSS.term#getId <em>Id</em>}</li>
+ * <li>{@link org.eclipse.e4.cSS.term#getUri <em>Uri</em>}</li>
+ * <li>{@link org.eclipse.e4.cSS.term#getColor <em>Color</em>}</li>
+ * <li>{@link org.eclipse.e4.cSS.term#getFunction <em>Function</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.e4.cSS.CSSPackage#getterm()
+ * @model
+ * @generated
+ */
+public interface term extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Unary</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Unary</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Unary</em>' attribute.
+ * @see #setUnary(String)
+ * @see org.eclipse.e4.cSS.CSSPackage#getterm_Unary()
+ * @model
+ * @generated
+ */
+ String getUnary();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.e4.cSS.term#getUnary <em>Unary</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Unary</em>' attribute.
+ * @see #getUnary()
+ * @generated
+ */
+ void setUnary(String value);
+
+ /**
+ * Returns the value of the '<em><b>Number</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Number</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Number</em>' attribute.
+ * @see #setNumber(String)
+ * @see org.eclipse.e4.cSS.CSSPackage#getterm_Number()
+ * @model
+ * @generated
+ */
+ String getNumber();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.e4.cSS.term#getNumber <em>Number</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Number</em>' attribute.
+ * @see #getNumber()
+ * @generated
+ */
+ void setNumber(String value);
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.e4.cSS.CSSPackage#getterm_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.e4.cSS.term#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>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.eclipse.e4.cSS.CSSPackage#getterm_Id()
+ * @model
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.e4.cSS.term#getId <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+ /**
+ * Returns the value of the '<em><b>Uri</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Uri</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>Uri</em>' containment reference.
+ * @see #setUri(URI)
+ * @see org.eclipse.e4.cSS.CSSPackage#getterm_Uri()
+ * @model containment="true"
+ * @generated
+ */
+ URI getUri();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.e4.cSS.term#getUri <em>Uri</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Uri</em>' containment reference.
+ * @see #getUri()
+ * @generated
+ */
+ void setUri(URI value);
+
+ /**
+ * Returns the value of the '<em><b>Color</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Color</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Color</em>' attribute.
+ * @see #setColor(String)
+ * @see org.eclipse.e4.cSS.CSSPackage#getterm_Color()
+ * @model
+ * @generated
+ */
+ String getColor();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.e4.cSS.term#getColor <em>Color</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Color</em>' attribute.
+ * @see #getColor()
+ * @generated
+ */
+ void setColor(String value);
+
+ /**
+ * Returns the value of the '<em><b>Function</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Function</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>Function</em>' containment reference.
+ * @see #setFunction(function)
+ * @see org.eclipse.e4.cSS.CSSPackage#getterm_Function()
+ * @model containment="true"
+ * @generated
+ */
+ function getFunction();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.e4.cSS.term#getFunction <em>Function</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Function</em>' containment reference.
+ * @see #getFunction()
+ * @generated
+ */
+ void setFunction(function value);
+
+} // term
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/util/CSSAdapterFactory.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/util/CSSAdapterFactory.java
new file mode 100644
index 00000000..d46be9eb
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/util/CSSAdapterFactory.java
@@ -0,0 +1,376 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.e4.cSS.util;
+
+import org.eclipse.e4.cSS.*;
+
+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;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.e4.cSS.CSSPackage
+ * @generated
+ */
+public class CSSAdapterFactory extends AdapterFactoryImpl
+{
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static CSSPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CSSAdapterFactory()
+ {
+ if (modelPackage == null)
+ {
+ modelPackage = CSSPackage.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 CSSSwitch<Adapter> modelSwitch =
+ new CSSSwitch<Adapter>()
+ {
+ @Override
+ public Adapter casestylesheet(stylesheet object)
+ {
+ return createstylesheetAdapter();
+ }
+ @Override
+ public Adapter caseRules(Rules object)
+ {
+ return createRulesAdapter();
+ }
+ @Override
+ public Adapter casecss_import(css_import object)
+ {
+ return createcss_importAdapter();
+ }
+ @Override
+ public Adapter caseselector(selector object)
+ {
+ return createselectorAdapter();
+ }
+ @Override
+ public Adapter casesimple_selector(simple_selector object)
+ {
+ return createsimple_selectorAdapter();
+ }
+ @Override
+ public Adapter casepseudo(pseudo object)
+ {
+ return createpseudoAdapter();
+ }
+ @Override
+ public Adapter caseelement_name(element_name object)
+ {
+ return createelement_nameAdapter();
+ }
+ @Override
+ public Adapter casedeclaration(declaration object)
+ {
+ return createdeclarationAdapter();
+ }
+ @Override
+ public Adapter caseexpr(expr object)
+ {
+ return createexprAdapter();
+ }
+ @Override
+ public Adapter caseterm(term object)
+ {
+ return createtermAdapter();
+ }
+ @Override
+ public Adapter casefunction(function object)
+ {
+ return createfunctionAdapter();
+ }
+ @Override
+ public Adapter caseURI(URI object)
+ {
+ return createURIAdapter();
+ }
+ @Override
+ public Adapter casecss_hash_class(css_hash_class object)
+ {
+ return createcss_hash_classAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object)
+ {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target)
+ {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.e4.cSS.stylesheet <em>stylesheet</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.e4.cSS.stylesheet
+ * @generated
+ */
+ public Adapter createstylesheetAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.e4.cSS.Rules <em>Rules</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.e4.cSS.Rules
+ * @generated
+ */
+ public Adapter createRulesAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.e4.cSS.css_import <em>css import</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.e4.cSS.css_import
+ * @generated
+ */
+ public Adapter createcss_importAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.e4.cSS.selector <em>selector</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.e4.cSS.selector
+ * @generated
+ */
+ public Adapter createselectorAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.e4.cSS.simple_selector <em>simple selector</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.e4.cSS.simple_selector
+ * @generated
+ */
+ public Adapter createsimple_selectorAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.e4.cSS.pseudo <em>pseudo</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.e4.cSS.pseudo
+ * @generated
+ */
+ public Adapter createpseudoAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.e4.cSS.element_name <em>element name</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.e4.cSS.element_name
+ * @generated
+ */
+ public Adapter createelement_nameAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.e4.cSS.declaration <em>declaration</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.e4.cSS.declaration
+ * @generated
+ */
+ public Adapter createdeclarationAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.e4.cSS.expr <em>expr</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.e4.cSS.expr
+ * @generated
+ */
+ public Adapter createexprAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.e4.cSS.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.eclipse.e4.cSS.term
+ * @generated
+ */
+ public Adapter createtermAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.e4.cSS.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.eclipse.e4.cSS.function
+ * @generated
+ */
+ public Adapter createfunctionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.e4.cSS.URI <em>URI</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.e4.cSS.URI
+ * @generated
+ */
+ public Adapter createURIAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.e4.cSS.css_hash_class <em>css hash class</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.e4.cSS.css_hash_class
+ * @generated
+ */
+ public Adapter createcss_hash_classAdapter()
+ {
+ 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;
+ }
+
+} //CSSAdapterFactory
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/util/CSSSwitch.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/util/CSSSwitch.java
new file mode 100644
index 00000000..e6fee868
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/cSS/util/CSSSwitch.java
@@ -0,0 +1,400 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+
+ */
+package org.eclipse.e4.cSS.util;
+
+import org.eclipse.e4.cSS.*;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.e4.cSS.CSSPackage
+ * @generated
+ */
+public class CSSSwitch<T> extends Switch<T>
+{
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static CSSPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CSSSwitch()
+ {
+ if (modelPackage == null)
+ {
+ modelPackage = CSSPackage.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 CSSPackage.STYLESHEET:
+ {
+ stylesheet stylesheet = (stylesheet)theEObject;
+ T result = casestylesheet(stylesheet);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CSSPackage.RULES:
+ {
+ Rules rules = (Rules)theEObject;
+ T result = caseRules(rules);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CSSPackage.CSS_IMPORT:
+ {
+ css_import css_import = (css_import)theEObject;
+ T result = casecss_import(css_import);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CSSPackage.SELECTOR:
+ {
+ selector selector = (selector)theEObject;
+ T result = caseselector(selector);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CSSPackage.SIMPLE_SELECTOR:
+ {
+ simple_selector simple_selector = (simple_selector)theEObject;
+ T result = casesimple_selector(simple_selector);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CSSPackage.PSEUDO:
+ {
+ pseudo pseudo = (pseudo)theEObject;
+ T result = casepseudo(pseudo);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CSSPackage.ELEMENT_NAME:
+ {
+ element_name element_name = (element_name)theEObject;
+ T result = caseelement_name(element_name);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CSSPackage.DECLARATION:
+ {
+ declaration declaration = (declaration)theEObject;
+ T result = casedeclaration(declaration);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CSSPackage.EXPR:
+ {
+ expr expr = (expr)theEObject;
+ T result = caseexpr(expr);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CSSPackage.TERM:
+ {
+ term term = (term)theEObject;
+ T result = caseterm(term);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CSSPackage.FUNCTION:
+ {
+ function function = (function)theEObject;
+ T result = casefunction(function);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CSSPackage.URI:
+ {
+ URI uri = (URI)theEObject;
+ T result = caseURI(uri);
+ if (result == null) result = casecss_import(uri);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CSSPackage.CSS_HASH_CLASS:
+ {
+ css_hash_class css_hash_class = (css_hash_class)theEObject;
+ T result = casecss_hash_class(css_hash_class);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>stylesheet</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>stylesheet</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casestylesheet(stylesheet object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Rules</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>Rules</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRules(Rules object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>css import</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>css import</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casecss_import(css_import object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>selector</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>selector</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseselector(selector object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>simple selector</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>simple selector</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casesimple_selector(simple_selector object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>pseudo</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>pseudo</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casepseudo(pseudo object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>element name</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>element name</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseelement_name(element_name object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>declaration</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>declaration</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casedeclaration(declaration object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>expr</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>expr</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseexpr(expr 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>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>URI</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>URI</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseURI(URI object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>css hash class</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>css hash class</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casecss_hash_class(css_hash_class 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;
+ }
+
+} //CSSSwitch
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parseTreeConstruction/CSSParsetreeConstructor.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parseTreeConstruction/CSSParsetreeConstructor.java
new file mode 100644
index 00000000..f7e7308c
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parseTreeConstruction/CSSParsetreeConstructor.java
@@ -0,0 +1,3070 @@
+/*
+* generated by Xtext
+*/
+package org.eclipse.e4.parseTreeConstruction;
+
+import org.eclipse.emf.ecore.*;
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parsetree.reconstr.IEObjectConsumer;
+import org.eclipse.xtext.parsetree.reconstr.impl.AbstractParseTreeConstructor;
+
+import org.eclipse.e4.services.CSSGrammarAccess;
+
+import com.google.inject.Inject;
+
+@SuppressWarnings("all")
+public class CSSParsetreeConstructor extends AbstractParseTreeConstructor {
+
+ @Inject
+ private CSSGrammarAccess 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 Stylesheet_Group(this, this, 0, inst);
+ case 1: return new Rules_Group(this, this, 1, inst);
+ case 2: return new Css_import_Group(this, this, 2, inst);
+ case 3: return new Selector_Group(this, this, 3, inst);
+ case 4: return new Simple_selector_Alternatives(this, this, 4, inst);
+ case 5: return new Pseudo_Alternatives(this, this, 5, inst);
+ case 6: return new Element_name_Alternatives(this, this, 6, inst);
+ case 7: return new Declaration_Group(this, this, 7, inst);
+ case 8: return new Expr_Group(this, this, 8, inst);
+ case 9: return new Term_Alternatives(this, this, 9, inst);
+ case 10: return new Function_Group(this, this, 10, inst);
+ case 11: return new URI_Group(this, this, 11, inst);
+ case 12: return new Css_hash_class_Group(this, this, 12, inst);
+ default: return null;
+ }
+ }
+}
+
+
+/************ begin Rule stylesheet ****************
+ *
+ * stylesheet:
+ * location=STRING? importName+=css_import* ruleset+=Rules*;
+ *
+ **/
+
+// location=STRING? importName+=css_import* ruleset+=Rules*
+protected class Stylesheet_Group extends GroupToken {
+
+ public Stylesheet_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getStylesheetAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Stylesheet_RulesetAssignment_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new Stylesheet_ImportNameAssignment_1(lastRuleCallOrigin, this, 1, inst);
+ case 2: return new Stylesheet_LocationAssignment_0(lastRuleCallOrigin, this, 2, inst);
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index - 3, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getStylesheetRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// location=STRING?
+protected class Stylesheet_LocationAssignment_0 extends AssignmentToken {
+
+ public Stylesheet_LocationAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getStylesheetAccess().getLocationAssignment_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("location",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("location");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getStylesheetAccess().getLocationSTRINGTerminalRuleCall_0_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getStylesheetAccess().getLocationSTRINGTerminalRuleCall_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// importName+=css_import*
+protected class Stylesheet_ImportNameAssignment_1 extends AssignmentToken {
+
+ public Stylesheet_ImportNameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getStylesheetAccess().getImportNameAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Css_import_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("importName",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("importName");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getCss_importRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getStylesheetAccess().getImportNameCss_importParserRuleCall_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 Stylesheet_ImportNameAssignment_1(lastRuleCallOrigin, next, actIndex, consumed);
+ case 1: return new Stylesheet_LocationAssignment_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index - 2, consumed);
+ }
+ }
+}
+
+// ruleset+=Rules*
+protected class Stylesheet_RulesetAssignment_2 extends AssignmentToken {
+
+ public Stylesheet_RulesetAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getStylesheetAccess().getRulesetAssignment_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Rules_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("ruleset",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("ruleset");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getRulesRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getStylesheetAccess().getRulesetRulesParserRuleCall_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 Stylesheet_RulesetAssignment_2(lastRuleCallOrigin, next, actIndex, consumed);
+ case 1: return new Stylesheet_ImportNameAssignment_1(lastRuleCallOrigin, next, actIndex, consumed);
+ case 2: return new Stylesheet_LocationAssignment_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index - 3, consumed);
+ }
+ }
+}
+
+
+/************ end Rule stylesheet ****************/
+
+
+/************ begin Rule Rules ****************
+ *
+ * Rules:
+ * selectors+=selector ("," selectors+=selector)* "{" declarations+=declaration? (";" declarations+=declaration?)* "}";
+ *
+ **/
+
+// selectors+=selector ("," selectors+=selector)* "{" declarations+=declaration? (";" declarations+=declaration?)* "}"
+protected class Rules_Group extends GroupToken {
+
+ public Rules_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getRulesAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Rules_RightCurlyBracketKeyword_5(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getRulesRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// selectors+=selector
+protected class Rules_SelectorsAssignment_0 extends AssignmentToken {
+
+ public Rules_SelectorsAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getRulesAccess().getSelectorsAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Selector_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("selectors",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("selectors");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getSelectorRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getRulesAccess().getSelectorsSelectorParserRuleCall_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);
+ }
+ }
+}
+
+// ("," selectors+=selector)*
+protected class Rules_Group_1 extends GroupToken {
+
+ public Rules_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getRulesAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Rules_SelectorsAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ","
+protected class Rules_CommaKeyword_1_0 extends KeywordToken {
+
+ public Rules_CommaKeyword_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getRulesAccess().getCommaKeyword_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Rules_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new Rules_SelectorsAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// selectors+=selector
+protected class Rules_SelectorsAssignment_1_1 extends AssignmentToken {
+
+ public Rules_SelectorsAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getRulesAccess().getSelectorsAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Selector_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("selectors",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("selectors");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getSelectorRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getRulesAccess().getSelectorsSelectorParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new Rules_CommaKeyword_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+// "{"
+protected class Rules_LeftCurlyBracketKeyword_2 extends KeywordToken {
+
+ public Rules_LeftCurlyBracketKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getRulesAccess().getLeftCurlyBracketKeyword_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Rules_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new Rules_SelectorsAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// declarations+=declaration?
+protected class Rules_DeclarationsAssignment_3 extends AssignmentToken {
+
+ public Rules_DeclarationsAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getRulesAccess().getDeclarationsAssignment_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Declaration_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("declarations",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("declarations");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getDeclarationRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getRulesAccess().getDeclarationsDeclarationParserRuleCall_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 Rules_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// (";" declarations+=declaration?)*
+protected class Rules_Group_4 extends GroupToken {
+
+ public Rules_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getRulesAccess().getGroup_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Rules_DeclarationsAssignment_4_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ";"
+protected class Rules_SemicolonKeyword_4_0 extends KeywordToken {
+
+ public Rules_SemicolonKeyword_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getRulesAccess().getSemicolonKeyword_4_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Rules_Group_4(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new Rules_DeclarationsAssignment_3(lastRuleCallOrigin, this, 1, inst);
+ case 2: return new Rules_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 2, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// declarations+=declaration?
+protected class Rules_DeclarationsAssignment_4_1 extends AssignmentToken {
+
+ public Rules_DeclarationsAssignment_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getRulesAccess().getDeclarationsAssignment_4_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Declaration_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("declarations",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("declarations");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getDeclarationRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getRulesAccess().getDeclarationsDeclarationParserRuleCall_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 Rules_SemicolonKeyword_4_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+// "}"
+protected class Rules_RightCurlyBracketKeyword_5 extends KeywordToken {
+
+ public Rules_RightCurlyBracketKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getRulesAccess().getRightCurlyBracketKeyword_5();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Rules_Group_4(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new Rules_DeclarationsAssignment_3(lastRuleCallOrigin, this, 1, inst);
+ case 2: return new Rules_LeftCurlyBracketKeyword_2(lastRuleCallOrigin, this, 2, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule Rules ****************/
+
+
+/************ begin Rule css_import ****************
+ *
+ * css_import:
+ * "@import" (string_name=STRING | URI) ";";
+ *
+ **/
+
+// "@import" (string_name=STRING | URI) ";"
+protected class Css_import_Group extends GroupToken {
+
+ public Css_import_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getCss_importAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Css_import_SemicolonKeyword_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getURIAccess().getURIAction_2().getType().getClassifier() &&
+ getEObject().eClass() != grammarAccess.getCss_importRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "@import"
+protected class Css_import_ImportKeyword_0 extends KeywordToken {
+
+ public Css_import_ImportKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getCss_importAccess().getImportKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// string_name=STRING | URI
+protected class Css_import_Alternatives_1 extends AlternativesToken {
+
+ public Css_import_Alternatives_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getCss_importAccess().getAlternatives_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Css_import_String_nameAssignment_1_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new Css_import_URIParserRuleCall_1_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// string_name=STRING
+protected class Css_import_String_nameAssignment_1_0 extends AssignmentToken {
+
+ public Css_import_String_nameAssignment_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getCss_importAccess().getString_nameAssignment_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Css_import_ImportKeyword_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getCss_importRule().getType().getClassifier())
+ return null;
+ if((value = eObjectConsumer.getConsumable("string_name",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("string_name");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getCss_importAccess().getString_nameSTRINGTerminalRuleCall_1_0_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getCss_importAccess().getString_nameSTRINGTerminalRuleCall_1_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// URI
+protected class Css_import_URIParserRuleCall_1_1 extends RuleCallToken {
+
+ public Css_import_URIParserRuleCall_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getCss_importAccess().getURIParserRuleCall_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new URI_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getURIAccess().getURIAction_2().getType().getClassifier())
+ return null;
+ if(checkForRecursion(URI_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 Css_import_ImportKeyword_0(lastRuleCallOrigin, next, actIndex, inst);
+ default: return null;
+ }
+ }
+}
+
+
+// ";"
+protected class Css_import_SemicolonKeyword_2 extends KeywordToken {
+
+ public Css_import_SemicolonKeyword_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getCss_importAccess().getSemicolonKeyword_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Css_import_Alternatives_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule css_import ****************/
+
+
+/************ begin Rule selector ****************
+ *
+ * selector hidden():
+ * simpleselectors=simple_selector (combinator=combinator selector=selector | WS+ (combinator=combinator?
+ * selector=selector)?)?;
+ *
+ **/
+
+// simpleselectors=simple_selector (combinator=combinator selector=selector | WS+ (combinator=combinator?
+// selector=selector)?)?
+protected class Selector_Group extends GroupToken {
+
+ public Selector_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getSelectorAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Selector_Alternatives_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new Selector_SimpleselectorsAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getSelectorRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// simpleselectors=simple_selector
+protected class Selector_SimpleselectorsAssignment_0 extends AssignmentToken {
+
+ public Selector_SimpleselectorsAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSelectorAccess().getSimpleselectorsAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Simple_selector_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("simpleselectors",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("simpleselectors");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getSimple_selectorRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getSelectorAccess().getSimpleselectorsSimple_selectorParserRuleCall_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);
+ }
+ }
+}
+
+// (combinator=combinator selector=selector | WS+ (combinator=combinator? selector=selector)?)?
+protected class Selector_Alternatives_1 extends AlternativesToken {
+
+ public Selector_Alternatives_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getSelectorAccess().getAlternatives_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Selector_Group_1_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new Selector_Group_1_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// combinator=combinator selector=selector
+protected class Selector_Group_1_0 extends GroupToken {
+
+ public Selector_Group_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getSelectorAccess().getGroup_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Selector_SelectorAssignment_1_0_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// combinator=combinator
+protected class Selector_CombinatorAssignment_1_0_0 extends AssignmentToken {
+
+ public Selector_CombinatorAssignment_1_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSelectorAccess().getCombinatorAssignment_1_0_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Selector_SimpleselectorsAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("combinator",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("combinator");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getSelectorAccess().getCombinatorCombinatorParserRuleCall_1_0_0_0(), value, null)) {
+ type = AssignmentType.DATATYPE_RULE_CALL;
+ element = grammarAccess.getSelectorAccess().getCombinatorCombinatorParserRuleCall_1_0_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// selector=selector
+protected class Selector_SelectorAssignment_1_0_1 extends AssignmentToken {
+
+ public Selector_SelectorAssignment_1_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSelectorAccess().getSelectorAssignment_1_0_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Selector_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("selector",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("selector");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getSelectorRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getSelectorAccess().getSelectorSelectorParserRuleCall_1_0_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new Selector_CombinatorAssignment_1_0_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+// WS+ (combinator=combinator? selector=selector)?
+protected class Selector_Group_1_1 extends GroupToken {
+
+ public Selector_Group_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getSelectorAccess().getGroup_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Selector_Group_1_1_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new Selector_WSTerminalRuleCall_1_1_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// WS+
+protected class Selector_WSTerminalRuleCall_1_1_0 extends UnassignedTextToken {
+
+ public Selector_WSTerminalRuleCall_1_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public RuleCall getGrammarElement() {
+ return grammarAccess.getSelectorAccess().getWSTerminalRuleCall_1_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Selector_SimpleselectorsAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// (combinator=combinator? selector=selector)?
+protected class Selector_Group_1_1_1 extends GroupToken {
+
+ public Selector_Group_1_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getSelectorAccess().getGroup_1_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Selector_SelectorAssignment_1_1_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// combinator=combinator?
+protected class Selector_CombinatorAssignment_1_1_1_0 extends AssignmentToken {
+
+ public Selector_CombinatorAssignment_1_1_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSelectorAccess().getCombinatorAssignment_1_1_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Selector_WSTerminalRuleCall_1_1_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("combinator",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("combinator");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getSelectorAccess().getCombinatorCombinatorParserRuleCall_1_1_1_0_0(), value, null)) {
+ type = AssignmentType.DATATYPE_RULE_CALL;
+ element = grammarAccess.getSelectorAccess().getCombinatorCombinatorParserRuleCall_1_1_1_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// selector=selector
+protected class Selector_SelectorAssignment_1_1_1_1 extends AssignmentToken {
+
+ public Selector_SelectorAssignment_1_1_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSelectorAccess().getSelectorAssignment_1_1_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Selector_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("selector",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("selector");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getSelectorRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getSelectorAccess().getSelectorSelectorParserRuleCall_1_1_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new Selector_CombinatorAssignment_1_1_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ case 1: return new Selector_WSTerminalRuleCall_1_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+
+
+/************ end Rule selector ****************/
+
+
+/************ begin Rule simple_selector ****************
+ *
+ * simple_selector:
+ * element=element_name id+=css_hash_class* pseudo+=pseudo* | id+=css_hash_class+;
+ *
+ **/
+
+// element=element_name id+=css_hash_class* pseudo+=pseudo* | id+=css_hash_class+
+protected class Simple_selector_Alternatives extends AlternativesToken {
+
+ public Simple_selector_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getSimple_selectorAccess().getAlternatives();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Simple_selector_Group_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new Simple_selector_IdAssignment_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getSimple_selectorRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// element=element_name id+=css_hash_class* pseudo+=pseudo*
+protected class Simple_selector_Group_0 extends GroupToken {
+
+ public Simple_selector_Group_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getSimple_selectorAccess().getGroup_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Simple_selector_PseudoAssignment_0_2(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new Simple_selector_IdAssignment_0_1(lastRuleCallOrigin, this, 1, inst);
+ case 2: return new Simple_selector_ElementAssignment_0_0(lastRuleCallOrigin, this, 2, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// element=element_name
+protected class Simple_selector_ElementAssignment_0_0 extends AssignmentToken {
+
+ public Simple_selector_ElementAssignment_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSimple_selectorAccess().getElementAssignment_0_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Element_name_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("element",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("element");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getElement_nameRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getSimple_selectorAccess().getElementElement_nameParserRuleCall_0_0_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// id+=css_hash_class*
+protected class Simple_selector_IdAssignment_0_1 extends AssignmentToken {
+
+ public Simple_selector_IdAssignment_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSimple_selectorAccess().getIdAssignment_0_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Css_hash_class_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("id",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getCss_hash_classRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getSimple_selectorAccess().getIdCss_hash_classParserRuleCall_0_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new Simple_selector_IdAssignment_0_1(lastRuleCallOrigin, next, actIndex, consumed);
+ case 1: return new Simple_selector_ElementAssignment_0_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// pseudo+=pseudo*
+protected class Simple_selector_PseudoAssignment_0_2 extends AssignmentToken {
+
+ public Simple_selector_PseudoAssignment_0_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSimple_selectorAccess().getPseudoAssignment_0_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Pseudo_Alternatives(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("pseudo",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("pseudo");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getPseudoRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getSimple_selectorAccess().getPseudoPseudoParserRuleCall_0_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 Simple_selector_PseudoAssignment_0_2(lastRuleCallOrigin, next, actIndex, consumed);
+ case 1: return new Simple_selector_IdAssignment_0_1(lastRuleCallOrigin, next, actIndex, consumed);
+ case 2: return new Simple_selector_ElementAssignment_0_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+// id+=css_hash_class+
+protected class Simple_selector_IdAssignment_1 extends AssignmentToken {
+
+ public Simple_selector_IdAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getSimple_selectorAccess().getIdAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Css_hash_class_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("id",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getCss_hash_classRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getSimple_selectorAccess().getIdCss_hash_classParserRuleCall_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 Simple_selector_IdAssignment_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index - 1, consumed);
+ }
+ }
+}
+
+
+/************ end Rule simple_selector ****************/
+
+
+/************ begin Rule pseudo ****************
+ *
+ * pseudo:
+ * ":" name=ident | function=function name=ident?;
+ *
+ **/
+
+// ":" name=ident | function=function name=ident?
+protected class Pseudo_Alternatives extends AlternativesToken {
+
+ public Pseudo_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getPseudoAccess().getAlternatives();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Pseudo_Group_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new Pseudo_Group_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getPseudoRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// ":" name=ident
+protected class Pseudo_Group_0 extends GroupToken {
+
+ public Pseudo_Group_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getPseudoAccess().getGroup_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Pseudo_NameAssignment_0_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// ":"
+protected class Pseudo_ColonKeyword_0_0 extends KeywordToken {
+
+ public Pseudo_ColonKeyword_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getPseudoAccess().getColonKeyword_0_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// name=ident
+protected class Pseudo_NameAssignment_0_1 extends AssignmentToken {
+
+ public Pseudo_NameAssignment_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPseudoAccess().getNameAssignment_0_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Pseudo_ColonKeyword_0_0(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.getPseudoAccess().getNameIdentTerminalRuleCall_0_1_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getPseudoAccess().getNameIdentTerminalRuleCall_0_1_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+
+// function=function name=ident?
+protected class Pseudo_Group_1 extends GroupToken {
+
+ public Pseudo_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getPseudoAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Pseudo_NameAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new Pseudo_FunctionAssignment_1_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// function=function
+protected class Pseudo_FunctionAssignment_1_0 extends AssignmentToken {
+
+ public Pseudo_FunctionAssignment_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPseudoAccess().getFunctionAssignment_1_0();
+ }
+
+ @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((value = eObjectConsumer.getConsumable("function",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("function");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getFunctionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getPseudoAccess().getFunctionFunctionParserRuleCall_1_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);
+ }
+ }
+}
+
+// name=ident?
+protected class Pseudo_NameAssignment_1_1 extends AssignmentToken {
+
+ public Pseudo_NameAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getPseudoAccess().getNameAssignment_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Pseudo_FunctionAssignment_1_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("name",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getPseudoAccess().getNameIdentTerminalRuleCall_1_1_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getPseudoAccess().getNameIdentTerminalRuleCall_1_1_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+
+
+/************ end Rule pseudo ****************/
+
+
+/************ begin Rule element_name ****************
+ *
+ * element_name:
+ * name=ident | name="*";
+ *
+ **/
+
+// name=ident | name="*"
+protected class Element_name_Alternatives extends AlternativesToken {
+
+ public Element_name_Alternatives(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getElement_nameAccess().getAlternatives();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Element_name_NameAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new Element_name_NameAssignment_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getElement_nameRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// name=ident
+protected class Element_name_NameAssignment_0 extends AssignmentToken {
+
+ public Element_name_NameAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getElement_nameAccess().getNameAssignment_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("name",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getElement_nameAccess().getNameIdentTerminalRuleCall_0_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getElement_nameAccess().getNameIdentTerminalRuleCall_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// name="*"
+protected class Element_name_NameAssignment_1 extends AssignmentToken {
+
+ public Element_name_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getElement_nameAccess().getNameAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getElement_nameAccess().getNameAsteriskKeyword_1_0(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getElement_nameAccess().getNameAsteriskKeyword_1_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+
+/************ end Rule element_name ****************/
+
+
+/************ begin Rule declaration ****************
+ *
+ * declaration:
+ * property=ident ":" expr=expr priority="!important"?;
+ *
+ **/
+
+// property=ident ":" expr=expr priority="!important"?
+protected class Declaration_Group extends GroupToken {
+
+ public Declaration_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getDeclarationAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Declaration_PriorityAssignment_3(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new Declaration_ExprAssignment_2(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getDeclarationRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// property=ident
+protected class Declaration_PropertyAssignment_0 extends AssignmentToken {
+
+ public Declaration_PropertyAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getDeclarationAccess().getPropertyAssignment_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("property",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("property");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getDeclarationAccess().getPropertyIdentTerminalRuleCall_0_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getDeclarationAccess().getPropertyIdentTerminalRuleCall_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// ":"
+protected class Declaration_ColonKeyword_1 extends KeywordToken {
+
+ public Declaration_ColonKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getDeclarationAccess().getColonKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Declaration_PropertyAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// expr=expr
+protected class Declaration_ExprAssignment_2 extends AssignmentToken {
+
+ public Declaration_ExprAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getDeclarationAccess().getExprAssignment_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expr_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("expr",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("expr");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExprRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getDeclarationAccess().getExprExprParserRuleCall_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 Declaration_ColonKeyword_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// priority="!important"?
+protected class Declaration_PriorityAssignment_3 extends AssignmentToken {
+
+ public Declaration_PriorityAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getDeclarationAccess().getPriorityAssignment_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Declaration_ExprAssignment_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("priority",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("priority");
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getDeclarationAccess().getPriorityImportantKeyword_3_0(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getDeclarationAccess().getPriorityImportantKeyword_3_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+
+/************ end Rule declaration ****************/
+
+
+/************ begin Rule expr ****************
+ *
+ * expr:
+ * term+=term (operators+=("/" | ",")? term+=term)*;
+ *
+ **/
+
+// term+=term (operators+=("/" | ",")? term+=term)*
+protected class Expr_Group extends GroupToken {
+
+ public Expr_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getExprAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expr_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new Expr_TermAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getExprRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// term+=term
+protected class Expr_TermAssignment_0 extends AssignmentToken {
+
+ public Expr_TermAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getExprAccess().getTermAssignment_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("term",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("term");
+ 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.getExprAccess().getTermTermParserRuleCall_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);
+ }
+ }
+}
+
+// (operators+=("/" | ",")? term+=term)*
+protected class Expr_Group_1 extends GroupToken {
+
+ public Expr_Group_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getExprAccess().getGroup_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expr_TermAssignment_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// operators+=("/" | ",")?
+protected class Expr_OperatorsAssignment_1_0 extends AssignmentToken {
+
+ public Expr_OperatorsAssignment_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getExprAccess().getOperatorsAssignment_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expr_Group_1(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new Expr_TermAssignment_0(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("operators",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("operators");
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getExprAccess().getOperatorsSolidusKeyword_1_0_0_0(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getExprAccess().getOperatorsSolidusKeyword_1_0_0_0();
+ return obj;
+ }
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getExprAccess().getOperatorsCommaKeyword_1_0_0_1(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getExprAccess().getOperatorsCommaKeyword_1_0_0_1();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// term+=term
+protected class Expr_TermAssignment_1_1 extends AssignmentToken {
+
+ public Expr_TermAssignment_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getExprAccess().getTermAssignment_1_1();
+ }
+
+ @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("term",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("term");
+ 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.getExprAccess().getTermTermParserRuleCall_1_1_0();
+ consumed = obj;
+ return param;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ public AbstractToken createFollowerAfterReturn(AbstractToken next, int actIndex, int index, IEObjectConsumer inst) {
+ if(value == inst.getEObject() && !inst.isConsumed()) return null;
+ switch(index) {
+ case 0: return new Expr_OperatorsAssignment_1_0(lastRuleCallOrigin, next, actIndex, consumed);
+ case 1: return new Expr_Group_1(lastRuleCallOrigin, next, actIndex, consumed);
+ case 2: return new Expr_TermAssignment_0(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+
+
+/************ end Rule expr ****************/
+
+
+/************ begin Rule term ****************
+ *
+ * term:
+ * unary=unary_operator? number=unary_numbers | name=STRING | id=ident | uri=URI | color=hexdigits | function=function;
+ *
+ **/
+
+// unary=unary_operator? number=unary_numbers | name=STRING | id=ident | uri=URI | color=hexdigits | function=function
+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_Group_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new Term_NameAssignment_1(lastRuleCallOrigin, this, 1, inst);
+ case 2: return new Term_IdAssignment_2(lastRuleCallOrigin, this, 2, inst);
+ case 3: return new Term_UriAssignment_3(lastRuleCallOrigin, this, 3, inst);
+ case 4: return new Term_ColorAssignment_4(lastRuleCallOrigin, this, 4, inst);
+ case 5: return new Term_FunctionAssignment_5(lastRuleCallOrigin, this, 5, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getTermRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// unary=unary_operator? number=unary_numbers
+protected class Term_Group_0 extends GroupToken {
+
+ public Term_Group_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getTermAccess().getGroup_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Term_NumberAssignment_0_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// unary=unary_operator?
+protected class Term_UnaryAssignment_0_0 extends AssignmentToken {
+
+ public Term_UnaryAssignment_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTermAccess().getUnaryAssignment_0_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("unary",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("unary");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getTermAccess().getUnaryUnary_operatorParserRuleCall_0_0_0(), value, null)) {
+ type = AssignmentType.DATATYPE_RULE_CALL;
+ element = grammarAccess.getTermAccess().getUnaryUnary_operatorParserRuleCall_0_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// number=unary_numbers
+protected class Term_NumberAssignment_0_1 extends AssignmentToken {
+
+ public Term_NumberAssignment_0_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTermAccess().getNumberAssignment_0_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Term_UnaryAssignment_0_0(lastRuleCallOrigin, this, 0, inst);
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index - 1, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("number",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("number");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getTermAccess().getNumberUnary_numbersParserRuleCall_0_1_0(), value, null)) {
+ type = AssignmentType.DATATYPE_RULE_CALL;
+ element = grammarAccess.getTermAccess().getNumberUnary_numbersParserRuleCall_0_1_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+
+// name=STRING
+protected class Term_NameAssignment_1 extends AssignmentToken {
+
+ public Term_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTermAccess().getNameAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("name",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getTermAccess().getNameSTRINGTerminalRuleCall_1_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getTermAccess().getNameSTRINGTerminalRuleCall_1_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// id=ident
+protected class Term_IdAssignment_2 extends AssignmentToken {
+
+ public Term_IdAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTermAccess().getIdAssignment_2();
+ }
+
+ @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("id",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getTermAccess().getIdIdentTerminalRuleCall_2_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getTermAccess().getIdIdentTerminalRuleCall_2_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// uri=URI
+protected class Term_UriAssignment_3 extends AssignmentToken {
+
+ public Term_UriAssignment_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTermAccess().getUriAssignment_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new URI_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("uri",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("uri");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getURIRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getTermAccess().getUriURIParserRuleCall_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) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+// color=hexdigits
+protected class Term_ColorAssignment_4 extends AssignmentToken {
+
+ public Term_ColorAssignment_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTermAccess().getColorAssignment_4();
+ }
+
+ @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("color",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("color");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getTermAccess().getColorHexdigitsTerminalRuleCall_4_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getTermAccess().getColorHexdigitsTerminalRuleCall_4_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// function=function
+protected class Term_FunctionAssignment_5 extends AssignmentToken {
+
+ public Term_FunctionAssignment_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getTermAccess().getFunctionAssignment_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((value = eObjectConsumer.getConsumable("function",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("function");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getFunctionRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getTermAccess().getFunctionFunctionParserRuleCall_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) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(next, actIndex , index, consumed);
+ }
+ }
+}
+
+
+/************ end Rule term ****************/
+
+
+/************ begin Rule function ****************
+ *
+ * function:
+ * name=ident "(" expr=expr ")";
+ *
+ **/
+
+// name=ident "(" expr=expr ")"
+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_RightParenthesisKeyword_3(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getFunctionRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// name=ident
+protected class Function_NameAssignment_0 extends AssignmentToken {
+
+ public Function_NameAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getFunctionAccess().getNameAssignment_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("name",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("name");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getFunctionAccess().getNameIdentTerminalRuleCall_0_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getFunctionAccess().getNameIdentTerminalRuleCall_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// "("
+protected class Function_LeftParenthesisKeyword_1 extends KeywordToken {
+
+ public Function_LeftParenthesisKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getFunctionAccess().getLeftParenthesisKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Function_NameAssignment_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// expr=expr
+protected class Function_ExprAssignment_2 extends AssignmentToken {
+
+ public Function_ExprAssignment_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getFunctionAccess().getExprAssignment_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Expr_Group(this, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("expr",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("expr");
+ if(value instanceof EObject) { // org::eclipse::xtext::impl::RuleCallImpl
+ IEObjectConsumer param = createEObjectConsumer((EObject)value);
+ if(param.isInstanceOf(grammarAccess.getExprRule().getType().getClassifier())) {
+ type = AssignmentType.PARSER_RULE_CALL;
+ element = grammarAccess.getFunctionAccess().getExprExprParserRuleCall_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_LeftParenthesisKeyword_1(lastRuleCallOrigin, next, actIndex, consumed);
+ default: return null;
+ }
+ }
+}
+
+// ")"
+protected class Function_RightParenthesisKeyword_3 extends KeywordToken {
+
+ public Function_RightParenthesisKeyword_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getFunctionAccess().getRightParenthesisKeyword_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Function_ExprAssignment_2(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule function ****************/
+
+
+/************ begin Rule URI ****************
+ *
+ * URI:
+ * "url" "(" {URI} (name+=STRING | ("\\" | "/") id+=ident)* ("." id+=ident)? ")";
+ *
+ **/
+
+// "url" "(" {URI} (name+=STRING | ("\\" | "/") id+=ident)* ("." id+=ident)? ")"
+protected class URI_Group extends GroupToken {
+
+ public URI_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getURIAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new URI_RightParenthesisKeyword_5(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getURIAccess().getURIAction_2().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// "url"
+protected class URI_UrlKeyword_0 extends KeywordToken {
+
+ public URI_UrlKeyword_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getURIAccess().getUrlKeyword_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ default: return lastRuleCallOrigin.createFollowerAfterReturn(this, index, index, inst);
+ }
+ }
+
+}
+
+// "("
+protected class URI_LeftParenthesisKeyword_1 extends KeywordToken {
+
+ public URI_LeftParenthesisKeyword_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getURIAccess().getLeftParenthesisKeyword_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new URI_UrlKeyword_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// {URI}
+protected class URI_URIAction_2 extends ActionToken {
+
+ public URI_URIAction_2(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Action getGrammarElement() {
+ return grammarAccess.getURIAccess().getURIAction_2();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new URI_LeftParenthesisKeyword_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(!eObjectConsumer.isConsumed()) return null;
+ return eObjectConsumer;
+ }
+}
+
+// (name+=STRING | ("\\" | "/") id+=ident)*
+protected class URI_Alternatives_3 extends AlternativesToken {
+
+ public URI_Alternatives_3(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getURIAccess().getAlternatives_3();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new URI_NameAssignment_3_0(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new URI_Group_3_1(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// name+=STRING
+protected class URI_NameAssignment_3_0 extends AssignmentToken {
+
+ public URI_NameAssignment_3_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getURIAccess().getNameAssignment_3_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new URI_Alternatives_3(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new URI_URIAction_2(lastRuleCallOrigin, this, 1, 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.getURIAccess().getNameSTRINGTerminalRuleCall_3_0_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getURIAccess().getNameSTRINGTerminalRuleCall_3_0_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// ("\\" | "/") id+=ident
+protected class URI_Group_3_1 extends GroupToken {
+
+ public URI_Group_3_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getURIAccess().getGroup_3_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new URI_IdAssignment_3_1_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "\\" | "/"
+protected class URI_Alternatives_3_1_0 extends AlternativesToken {
+
+ public URI_Alternatives_3_1_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Alternatives getGrammarElement() {
+ return grammarAccess.getURIAccess().getAlternatives_3_1_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new URI_ReverseSolidusKeyword_3_1_0_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "\\"
+protected class URI_ReverseSolidusKeyword_3_1_0_0 extends KeywordToken {
+
+ public URI_ReverseSolidusKeyword_3_1_0_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getURIAccess().getReverseSolidusKeyword_3_1_0_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new URI_Alternatives_3(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new URI_URIAction_2(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+// id+=ident
+protected class URI_IdAssignment_3_1_1 extends AssignmentToken {
+
+ public URI_IdAssignment_3_1_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getURIAccess().getIdAssignment_3_1_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new URI_Alternatives_3_1_0(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.getURIAccess().getIdIdentTerminalRuleCall_3_1_1_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getURIAccess().getIdIdentTerminalRuleCall_3_1_1_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+
+
+// ("." id+=ident)?
+protected class URI_Group_4 extends GroupToken {
+
+ public URI_Group_4(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getURIAccess().getGroup_4();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new URI_IdAssignment_4_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// "."
+protected class URI_FullStopKeyword_4_0 extends KeywordToken {
+
+ public URI_FullStopKeyword_4_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getURIAccess().getFullStopKeyword_4_0();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new URI_Alternatives_3(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new URI_URIAction_2(lastRuleCallOrigin, this, 1, inst);
+ default: return null;
+ }
+ }
+
+}
+
+// id+=ident
+protected class URI_IdAssignment_4_1 extends AssignmentToken {
+
+ public URI_IdAssignment_4_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getURIAccess().getIdAssignment_4_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new URI_FullStopKeyword_4_0(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if((value = eObjectConsumer.getConsumable("id",false)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("id");
+ if(valueSerializer.isValid(obj.getEObject(), grammarAccess.getURIAccess().getIdIdentTerminalRuleCall_4_1_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getURIAccess().getIdIdentTerminalRuleCall_4_1_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+
+// ")"
+protected class URI_RightParenthesisKeyword_5 extends KeywordToken {
+
+ public URI_RightParenthesisKeyword_5(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Keyword getGrammarElement() {
+ return grammarAccess.getURIAccess().getRightParenthesisKeyword_5();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new URI_Group_4(lastRuleCallOrigin, this, 0, inst);
+ case 1: return new URI_Alternatives_3(lastRuleCallOrigin, this, 1, inst);
+ case 2: return new URI_URIAction_2(lastRuleCallOrigin, this, 2, inst);
+ default: return null;
+ }
+ }
+
+}
+
+
+/************ end Rule URI ****************/
+
+
+
+
+
+
+
+
+
+
+/************ begin Rule css_hash_class ****************
+ *
+ * css_hash_class:
+ * type=("#" | ".") name=ident;
+ *
+ **/
+
+// type=("#" | ".") name=ident
+protected class Css_hash_class_Group extends GroupToken {
+
+ public Css_hash_class_Group(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Group getGrammarElement() {
+ return grammarAccess.getCss_hash_classAccess().getGroup();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Css_hash_class_NameAssignment_1(lastRuleCallOrigin, this, 0, inst);
+ default: return null;
+ }
+ }
+
+ @Override
+ public IEObjectConsumer tryConsume() {
+ if(getEObject().eClass() != grammarAccess.getCss_hash_classRule().getType().getClassifier())
+ return null;
+ return eObjectConsumer;
+ }
+
+}
+
+// type=("#" | ".")
+protected class Css_hash_class_TypeAssignment_0 extends AssignmentToken {
+
+ public Css_hash_class_TypeAssignment_0(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getCss_hash_classAccess().getTypeAssignment_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("type",true)) == null) return null;
+ IEObjectConsumer obj = eObjectConsumer.cloneAndConsume("type");
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getCss_hash_classAccess().getTypeNumberSignKeyword_0_0_0(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getCss_hash_classAccess().getTypeNumberSignKeyword_0_0_0();
+ return obj;
+ }
+ if(keywordSerializer.isValid(obj.getEObject(), grammarAccess.getCss_hash_classAccess().getTypeFullStopKeyword_0_0_1(), value, null)) {
+ type = AssignmentType.KEYWORD;
+ element = grammarAccess.getCss_hash_classAccess().getTypeFullStopKeyword_0_0_1();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+// name=ident
+protected class Css_hash_class_NameAssignment_1 extends AssignmentToken {
+
+ public Css_hash_class_NameAssignment_1(AbstractToken lastRuleCallOrigin, AbstractToken next, int transitionIndex, IEObjectConsumer eObjectConsumer) {
+ super(lastRuleCallOrigin, next, transitionIndex, eObjectConsumer);
+ }
+
+ @Override
+ public Assignment getGrammarElement() {
+ return grammarAccess.getCss_hash_classAccess().getNameAssignment_1();
+ }
+
+ @Override
+ public AbstractToken createFollower(int index, IEObjectConsumer inst) {
+ switch(index) {
+ case 0: return new Css_hash_class_TypeAssignment_0(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.getCss_hash_classAccess().getNameIdentTerminalRuleCall_1_0(), value, null)) {
+ type = AssignmentType.TERMINAL_RULE_CALL;
+ element = grammarAccess.getCss_hash_classAccess().getNameIdentTerminalRuleCall_1_0();
+ return obj;
+ }
+ return null;
+ }
+
+}
+
+
+/************ end Rule css_hash_class ****************/
+
+
+
+}
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/CSSAntlrTokenFileProvider.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/CSSAntlrTokenFileProvider.java
new file mode 100644
index 00000000..1ed4bbb2
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/CSSAntlrTokenFileProvider.java
@@ -0,0 +1,15 @@
+/*
+* generated by Xtext
+*/
+package org.eclipse.e4.parser.antlr;
+
+import java.io.InputStream;
+import org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider;
+
+public class CSSAntlrTokenFileProvider implements IAntlrTokenFileProvider {
+
+ public InputStream getAntlrTokenFile() {
+ ClassLoader classLoader = getClass().getClassLoader();
+ return classLoader.getResourceAsStream("org/eclipse/e4/parser/antlr/internal/InternalCSS.tokens");
+ }
+}
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/CSSParser.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/CSSParser.java
new file mode 100644
index 00000000..003f7fd6
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/CSSParser.java
@@ -0,0 +1,39 @@
+/*
+* generated by Xtext
+*/
+package org.eclipse.e4.parser.antlr;
+
+import com.google.inject.Inject;
+
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.e4.services.CSSGrammarAccess;
+
+public class CSSParser extends org.eclipse.xtext.parser.antlr.AbstractAntlrParser {
+
+ @Inject
+ private CSSGrammarAccess grammarAccess;
+
+ @Override
+ protected void setInitialHiddenTokens(XtextTokenStream tokenStream) {
+ tokenStream.setInitialHiddenTokens("RULE_WS", "RULE_ML_COMMENT", "RULE_SL_COMMENT");
+ }
+
+ @Override
+ protected org.eclipse.e4.parser.antlr.internal.InternalCSSParser createParser(XtextTokenStream stream) {
+ return new org.eclipse.e4.parser.antlr.internal.InternalCSSParser(stream, getGrammarAccess());
+ }
+
+ @Override
+ protected String getDefaultRuleName() {
+ return "stylesheet";
+ }
+
+ public CSSGrammarAccess getGrammarAccess() {
+ return this.grammarAccess;
+ }
+
+ public void setGrammarAccess(CSSGrammarAccess grammarAccess) {
+ this.grammarAccess = grammarAccess;
+ }
+
+}
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g
new file mode 100644
index 00000000..73f59224
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g
@@ -0,0 +1,1737 @@
+/*
+* generated by Xtext
+*/
+grammar InternalCSS;
+
+options {
+ superClass=AbstractInternalAntlrParser;
+
+}
+
+@lexer::header {
+package org.eclipse.e4.parser.antlr.internal;
+
+// Hack: Use our own Lexer superclass by means of import.
+// Currently there is no other way to specify the superclass for the lexer.
+import org.eclipse.xtext.parser.antlr.Lexer;
+}
+
+@parser::header {
+package org.eclipse.e4.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.eclipse.e4.services.CSSGrammarAccess;
+
+}
+
+@parser::members {
+
+ private CSSGrammarAccess grammarAccess;
+
+ public InternalCSSParser(TokenStream input, CSSGrammarAccess grammarAccess) {
+ this(input);
+ this.grammarAccess = grammarAccess;
+ registerRules(grammarAccess.getGrammar());
+ }
+
+ @Override
+ protected String getFirstRuleName() {
+ return "stylesheet";
+ }
+
+ @Override
+ protected CSSGrammarAccess getGrammarAccess() {
+ return grammarAccess;
+ }
+}
+
+@rulecatch {
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+}
+
+
+
+
+// Entry rule entryRulestylesheet
+entryRulestylesheet returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getStylesheetRule()); }
+ iv_rulestylesheet=rulestylesheet
+ { $current=$iv_rulestylesheet.current; }
+ EOF
+;
+
+// Rule stylesheet
+rulestylesheet returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ lv_location_0_0=RULE_STRING
+ {
+ newLeafNode(lv_location_0_0, grammarAccess.getStylesheetAccess().getLocationSTRINGTerminalRuleCall_0_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getStylesheetRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "location",
+ lv_location_0_0,
+ "STRING");
+ }
+
+)
+)?(
+(
+ {
+ newCompositeNode(grammarAccess.getStylesheetAccess().getImportNameCss_importParserRuleCall_1_0());
+ }
+ lv_importName_1_0=rulecss_import {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getStylesheetRule());
+ }
+ add(
+ $current,
+ "importName",
+ lv_importName_1_0,
+ "css_import");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)*(
+(
+ {
+ newCompositeNode(grammarAccess.getStylesheetAccess().getRulesetRulesParserRuleCall_2_0());
+ }
+ lv_ruleset_2_0=ruleRules {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getStylesheetRule());
+ }
+ add(
+ $current,
+ "ruleset",
+ lv_ruleset_2_0,
+ "Rules");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)*)
+;
+
+
+
+
+
+// Entry rule entryRuleRules
+entryRuleRules returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getRulesRule()); }
+ iv_ruleRules=ruleRules
+ { $current=$iv_ruleRules.current; }
+ EOF
+;
+
+// Rule Rules
+ruleRules returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getRulesAccess().getSelectorsSelectorParserRuleCall_0_0());
+ }
+ lv_selectors_0_0=ruleselector {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getRulesRule());
+ }
+ add(
+ $current,
+ "selectors",
+ lv_selectors_0_0,
+ "selector");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_1=','
+ {
+ newLeafNode(otherlv_1, grammarAccess.getRulesAccess().getCommaKeyword_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getRulesAccess().getSelectorsSelectorParserRuleCall_1_1_0());
+ }
+ lv_selectors_2_0=ruleselector {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getRulesRule());
+ }
+ add(
+ $current,
+ "selectors",
+ lv_selectors_2_0,
+ "selector");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))* otherlv_3='{'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getRulesAccess().getLeftCurlyBracketKeyword_2());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getRulesAccess().getDeclarationsDeclarationParserRuleCall_3_0());
+ }
+ lv_declarations_4_0=ruledeclaration {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getRulesRule());
+ }
+ add(
+ $current,
+ "declarations",
+ lv_declarations_4_0,
+ "declaration");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?( otherlv_5=';'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getRulesAccess().getSemicolonKeyword_4_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getRulesAccess().getDeclarationsDeclarationParserRuleCall_4_1_0());
+ }
+ lv_declarations_6_0=ruledeclaration {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getRulesRule());
+ }
+ add(
+ $current,
+ "declarations",
+ lv_declarations_6_0,
+ "declaration");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?)* otherlv_7='}'
+ {
+ newLeafNode(otherlv_7, grammarAccess.getRulesAccess().getRightCurlyBracketKeyword_5());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRulecss_import
+entryRulecss_import returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getCss_importRule()); }
+ iv_rulecss_import=rulecss_import
+ { $current=$iv_rulecss_import.current; }
+ EOF
+;
+
+// Rule css_import
+rulecss_import returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='@import'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getCss_importAccess().getImportKeyword_0());
+ }
+((
+(
+ lv_string_name_1_0=RULE_STRING
+ {
+ newLeafNode(lv_string_name_1_0, grammarAccess.getCss_importAccess().getString_nameSTRINGTerminalRuleCall_1_0_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getCss_importRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "string_name",
+ lv_string_name_1_0,
+ "STRING");
+ }
+
+)
+)
+ |
+ {
+ newCompositeNode(grammarAccess.getCss_importAccess().getURIParserRuleCall_1_1());
+ }
+ this_URI_2=ruleURI
+ {
+ $current = $this_URI_2.current;
+ afterParserOrEnumRuleCall();
+ }
+) otherlv_3=';'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getCss_importAccess().getSemicolonKeyword_2());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleselector
+entryRuleselector returns [EObject current=null]
+ @init {
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+ }
+ :
+ { newCompositeNode(grammarAccess.getSelectorRule()); }
+ iv_ruleselector=ruleselector
+ { $current=$iv_ruleselector.current; }
+ EOF
+;
+finally {
+ myHiddenTokenState.restore();
+}
+
+// Rule selector
+ruleselector returns [EObject current=null]
+ @init { enterRule();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getSelectorAccess().getSimpleselectorsSimple_selectorParserRuleCall_0_0());
+ }
+ lv_simpleselectors_0_0=rulesimple_selector {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSelectorRule());
+ }
+ set(
+ $current,
+ "simpleselectors",
+ lv_simpleselectors_0_0,
+ "simple_selector");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(((
+(
+ {
+ newCompositeNode(grammarAccess.getSelectorAccess().getCombinatorCombinatorParserRuleCall_1_0_0_0());
+ }
+ lv_combinator_1_0=rulecombinator {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSelectorRule());
+ }
+ set(
+ $current,
+ "combinator",
+ lv_combinator_1_0,
+ "combinator");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getSelectorAccess().getSelectorSelectorParserRuleCall_1_0_1_0());
+ }
+ lv_selector_2_0=ruleselector {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSelectorRule());
+ }
+ set(
+ $current,
+ "selector",
+ lv_selector_2_0,
+ "selector");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+ |((this_WS_3=RULE_WS
+ {
+ newLeafNode(this_WS_3, grammarAccess.getSelectorAccess().getWSTerminalRuleCall_1_1_0());
+ }
+)+((
+(
+ {
+ newCompositeNode(grammarAccess.getSelectorAccess().getCombinatorCombinatorParserRuleCall_1_1_1_0_0());
+ }
+ lv_combinator_4_0=rulecombinator {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSelectorRule());
+ }
+ set(
+ $current,
+ "combinator",
+ lv_combinator_4_0,
+ "combinator");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?(
+(
+ {
+ newCompositeNode(grammarAccess.getSelectorAccess().getSelectorSelectorParserRuleCall_1_1_1_1_0());
+ }
+ lv_selector_5_0=ruleselector {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSelectorRule());
+ }
+ set(
+ $current,
+ "selector",
+ lv_selector_5_0,
+ "selector");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))?))?)
+;
+finally {
+ myHiddenTokenState.restore();
+}
+
+
+
+
+
+// Entry rule entryRulesimple_selector
+entryRulesimple_selector returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getSimple_selectorRule()); }
+ iv_rulesimple_selector=rulesimple_selector
+ { $current=$iv_rulesimple_selector.current; }
+ EOF
+;
+
+// Rule simple_selector
+rulesimple_selector returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(((
+(
+ {
+ newCompositeNode(grammarAccess.getSimple_selectorAccess().getElementElement_nameParserRuleCall_0_0_0());
+ }
+ lv_element_0_0=ruleelement_name {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSimple_selectorRule());
+ }
+ set(
+ $current,
+ "element",
+ lv_element_0_0,
+ "element_name");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getSimple_selectorAccess().getIdCss_hash_classParserRuleCall_0_1_0());
+ }
+ lv_id_1_0=rulecss_hash_class {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSimple_selectorRule());
+ }
+ add(
+ $current,
+ "id",
+ lv_id_1_0,
+ "css_hash_class");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)*(
+(
+ {
+ newCompositeNode(grammarAccess.getSimple_selectorAccess().getPseudoPseudoParserRuleCall_0_2_0());
+ }
+ lv_pseudo_2_0=rulepseudo {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSimple_selectorRule());
+ }
+ add(
+ $current,
+ "pseudo",
+ lv_pseudo_2_0,
+ "pseudo");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)*)
+ |(
+(
+ {
+ newCompositeNode(grammarAccess.getSimple_selectorAccess().getIdCss_hash_classParserRuleCall_1_0());
+ }
+ lv_id_3_0=rulecss_hash_class {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSimple_selectorRule());
+ }
+ add(
+ $current,
+ "id",
+ lv_id_3_0,
+ "css_hash_class");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)+)
+;
+
+
+
+
+
+// Entry rule entryRulepseudo
+entryRulepseudo returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getPseudoRule()); }
+ iv_rulepseudo=rulepseudo
+ { $current=$iv_rulepseudo.current; }
+ EOF
+;
+
+// Rule pseudo
+rulepseudo returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(( otherlv_0=':'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getPseudoAccess().getColonKeyword_0_0());
+ }
+(
+(
+ lv_name_1_0=RULE_IDENT
+ {
+ newLeafNode(lv_name_1_0, grammarAccess.getPseudoAccess().getNameIdentTerminalRuleCall_0_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getPseudoRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_1_0,
+ "ident");
+ }
+
+)
+))
+ |((
+(
+ {
+ newCompositeNode(grammarAccess.getPseudoAccess().getFunctionFunctionParserRuleCall_1_0_0());
+ }
+ lv_function_2_0=rulefunction {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPseudoRule());
+ }
+ set(
+ $current,
+ "function",
+ lv_function_2_0,
+ "function");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ lv_name_3_0=RULE_IDENT
+ {
+ newLeafNode(lv_name_3_0, grammarAccess.getPseudoAccess().getNameIdentTerminalRuleCall_1_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getPseudoRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_3_0,
+ "ident");
+ }
+
+)
+)?))
+;
+
+
+
+
+
+// Entry rule entryRuleelement_name
+entryRuleelement_name returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getElement_nameRule()); }
+ iv_ruleelement_name=ruleelement_name
+ { $current=$iv_ruleelement_name.current; }
+ EOF
+;
+
+// Rule element_name
+ruleelement_name returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ lv_name_0_0=RULE_IDENT
+ {
+ newLeafNode(lv_name_0_0, grammarAccess.getElement_nameAccess().getNameIdentTerminalRuleCall_0_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getElement_nameRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_0_0,
+ "ident");
+ }
+
+)
+)
+ |(
+(
+ lv_name_1_0= '*'
+ {
+ newLeafNode(lv_name_1_0, grammarAccess.getElement_nameAccess().getNameAsteriskKeyword_1_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getElement_nameRule());
+ }
+ setWithLastConsumed($current, "name", lv_name_1_0, "*");
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuledeclaration
+entryRuledeclaration returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getDeclarationRule()); }
+ iv_ruledeclaration=ruledeclaration
+ { $current=$iv_ruledeclaration.current; }
+ EOF
+;
+
+// Rule declaration
+ruledeclaration returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ lv_property_0_0=RULE_IDENT
+ {
+ newLeafNode(lv_property_0_0, grammarAccess.getDeclarationAccess().getPropertyIdentTerminalRuleCall_0_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getDeclarationRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "property",
+ lv_property_0_0,
+ "ident");
+ }
+
+)
+) otherlv_1=':'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getDeclarationAccess().getColonKeyword_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getDeclarationAccess().getExprExprParserRuleCall_2_0());
+ }
+ lv_expr_2_0=ruleexpr {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getDeclarationRule());
+ }
+ set(
+ $current,
+ "expr",
+ lv_expr_2_0,
+ "expr");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ lv_priority_3_0= '!important'
+ {
+ newLeafNode(lv_priority_3_0, grammarAccess.getDeclarationAccess().getPriorityImportantKeyword_3_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getDeclarationRule());
+ }
+ setWithLastConsumed($current, "priority", lv_priority_3_0, "!important");
+ }
+
+)
+)?)
+;
+
+
+
+
+
+// Entry rule entryRuleexpr
+entryRuleexpr returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getExprRule()); }
+ iv_ruleexpr=ruleexpr
+ { $current=$iv_ruleexpr.current; }
+ EOF
+;
+
+// Rule expr
+ruleexpr returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getExprAccess().getTermTermParserRuleCall_0_0());
+ }
+ lv_term_0_0=ruleterm {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getExprRule());
+ }
+ add(
+ $current,
+ "term",
+ lv_term_0_0,
+ "term");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)((
+(
+(
+ lv_operators_1_1= '/'
+ {
+ newLeafNode(lv_operators_1_1, grammarAccess.getExprAccess().getOperatorsSolidusKeyword_1_0_0_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getExprRule());
+ }
+ addWithLastConsumed($current, "operators", lv_operators_1_1, null);
+ }
+
+ | lv_operators_1_2= ','
+ {
+ newLeafNode(lv_operators_1_2, grammarAccess.getExprAccess().getOperatorsCommaKeyword_1_0_0_1());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getExprRule());
+ }
+ addWithLastConsumed($current, "operators", lv_operators_1_2, null);
+ }
+
+)
+
+)
+)?(
+(
+ {
+ newCompositeNode(grammarAccess.getExprAccess().getTermTermParserRuleCall_1_1_0());
+ }
+ lv_term_2_0=ruleterm {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getExprRule());
+ }
+ add(
+ $current,
+ "term",
+ lv_term_2_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().getUnaryUnary_operatorParserRuleCall_0_0_0());
+ }
+ lv_unary_0_0=ruleunary_operator {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTermRule());
+ }
+ set(
+ $current,
+ "unary",
+ lv_unary_0_0,
+ "unary_operator");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?(
+(
+ {
+ newCompositeNode(grammarAccess.getTermAccess().getNumberUnary_numbersParserRuleCall_0_1_0());
+ }
+ lv_number_1_0=ruleunary_numbers {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTermRule());
+ }
+ set(
+ $current,
+ "number",
+ lv_number_1_0,
+ "unary_numbers");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+ |(
+(
+ lv_name_2_0=RULE_STRING
+ {
+ newLeafNode(lv_name_2_0, grammarAccess.getTermAccess().getNameSTRINGTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getTermRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_2_0,
+ "STRING");
+ }
+
+)
+)
+ |(
+(
+ lv_id_3_0=RULE_IDENT
+ {
+ newLeafNode(lv_id_3_0, grammarAccess.getTermAccess().getIdIdentTerminalRuleCall_2_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getTermRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "id",
+ lv_id_3_0,
+ "ident");
+ }
+
+)
+)
+ |(
+(
+ {
+ newCompositeNode(grammarAccess.getTermAccess().getUriURIParserRuleCall_3_0());
+ }
+ lv_uri_4_0=ruleURI {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTermRule());
+ }
+ set(
+ $current,
+ "uri",
+ lv_uri_4_0,
+ "URI");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ |(
+(
+ lv_color_5_0=RULE_HEXDIGITS
+ {
+ newLeafNode(lv_color_5_0, grammarAccess.getTermAccess().getColorHexdigitsTerminalRuleCall_4_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getTermRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "color",
+ lv_color_5_0,
+ "hexdigits");
+ }
+
+)
+)
+ |(
+(
+ {
+ newCompositeNode(grammarAccess.getTermAccess().getFunctionFunctionParserRuleCall_5_0());
+ }
+ lv_function_6_0=rulefunction {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTermRule());
+ }
+ set(
+ $current,
+ "function",
+ lv_function_6_0,
+ "function");
+ 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_IDENT
+ {
+ newLeafNode(lv_name_0_0, grammarAccess.getFunctionAccess().getNameIdentTerminalRuleCall_0_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getFunctionRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_0_0,
+ "ident");
+ }
+
+)
+) otherlv_1='('
+ {
+ newLeafNode(otherlv_1, grammarAccess.getFunctionAccess().getLeftParenthesisKeyword_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getFunctionAccess().getExprExprParserRuleCall_2_0());
+ }
+ lv_expr_2_0=ruleexpr {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getFunctionRule());
+ }
+ set(
+ $current,
+ "expr",
+ lv_expr_2_0,
+ "expr");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_3=')'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getFunctionAccess().getRightParenthesisKeyword_3());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleURI
+entryRuleURI returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getURIRule()); }
+ iv_ruleURI=ruleURI
+ { $current=$iv_ruleURI.current; }
+ EOF
+;
+
+// Rule URI
+ruleURI returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='url'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getURIAccess().getUrlKeyword_0());
+ }
+ otherlv_1='('
+ {
+ newLeafNode(otherlv_1, grammarAccess.getURIAccess().getLeftParenthesisKeyword_1());
+ }
+(
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getURIAccess().getURIAction_2(),
+ $current);
+ }
+)((
+(
+ lv_name_3_0=RULE_STRING
+ {
+ newLeafNode(lv_name_3_0, grammarAccess.getURIAccess().getNameSTRINGTerminalRuleCall_3_0_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getURIRule());
+ }
+ addWithLastConsumed(
+ $current,
+ "name",
+ lv_name_3_0,
+ "STRING");
+ }
+
+)
+)
+ |(( otherlv_4='\\'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getURIAccess().getReverseSolidusKeyword_3_1_0_0());
+ }
+
+ | otherlv_5='/'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getURIAccess().getSolidusKeyword_3_1_0_1());
+ }
+)(
+(
+ lv_id_6_0=RULE_IDENT
+ {
+ newLeafNode(lv_id_6_0, grammarAccess.getURIAccess().getIdIdentTerminalRuleCall_3_1_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getURIRule());
+ }
+ addWithLastConsumed(
+ $current,
+ "id",
+ lv_id_6_0,
+ "ident");
+ }
+
+)
+)))*( otherlv_7='.'
+ {
+ newLeafNode(otherlv_7, grammarAccess.getURIAccess().getFullStopKeyword_4_0());
+ }
+(
+(
+ lv_id_8_0=RULE_IDENT
+ {
+ newLeafNode(lv_id_8_0, grammarAccess.getURIAccess().getIdIdentTerminalRuleCall_4_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getURIRule());
+ }
+ addWithLastConsumed(
+ $current,
+ "id",
+ lv_id_8_0,
+ "ident");
+ }
+
+)
+))? otherlv_9=')'
+ {
+ newLeafNode(otherlv_9, grammarAccess.getURIAccess().getRightParenthesisKeyword_5());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleunary_numbers
+entryRuleunary_numbers returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getUnary_numbersRule()); }
+ iv_ruleunary_numbers=ruleunary_numbers
+ { $current=$iv_ruleunary_numbers.current.getText(); }
+ EOF
+;
+
+// Rule unary_numbers
+ruleunary_numbers returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( this_INT_0=RULE_INT {
+ $current.merge(this_INT_0);
+ }
+
+ {
+ newLeafNode(this_INT_0, grammarAccess.getUnary_numbersAccess().getINTTerminalRuleCall_0());
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getUnary_numbersAccess().getPERCENTAGEParserRuleCall_1());
+ }
+ this_PERCENTAGE_1=rulePERCENTAGE {
+ $current.merge(this_PERCENTAGE_1);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getUnary_numbersAccess().getLENGTHParserRuleCall_2());
+ }
+ this_LENGTH_2=ruleLENGTH {
+ $current.merge(this_LENGTH_2);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getUnary_numbersAccess().getEMSParserRuleCall_3());
+ }
+ this_EMS_3=ruleEMS {
+ $current.merge(this_EMS_3);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getUnary_numbersAccess().getEXSParserRuleCall_4());
+ }
+ this_EXS_4=ruleEXS {
+ $current.merge(this_EXS_4);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getUnary_numbersAccess().getANGLEParserRuleCall_5());
+ }
+ this_ANGLE_5=ruleANGLE {
+ $current.merge(this_ANGLE_5);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getUnary_numbersAccess().getTIMEParserRuleCall_6());
+ }
+ this_TIME_6=ruleTIME {
+ $current.merge(this_TIME_6);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getUnary_numbersAccess().getFREQParserRuleCall_7());
+ }
+ this_FREQ_7=ruleFREQ {
+ $current.merge(this_FREQ_7);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+)
+ ;
+
+
+
+
+
+// Entry rule entryRulePERCENTAGE
+entryRulePERCENTAGE returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getPERCENTAGERule()); }
+ iv_rulePERCENTAGE=rulePERCENTAGE
+ { $current=$iv_rulePERCENTAGE.current.getText(); }
+ EOF
+;
+
+// Rule PERCENTAGE
+rulePERCENTAGE returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( this_INT_0=RULE_INT {
+ $current.merge(this_INT_0);
+ }
+
+ {
+ newLeafNode(this_INT_0, grammarAccess.getPERCENTAGEAccess().getINTTerminalRuleCall_0());
+ }
+
+ kw='%'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getPERCENTAGEAccess().getPercentSignKeyword_1());
+ }
+)
+ ;
+
+
+
+
+
+// Entry rule entryRuleEMS
+entryRuleEMS returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getEMSRule()); }
+ iv_ruleEMS=ruleEMS
+ { $current=$iv_ruleEMS.current.getText(); }
+ EOF
+;
+
+// Rule EMS
+ruleEMS returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( this_INT_0=RULE_INT {
+ $current.merge(this_INT_0);
+ }
+
+ {
+ newLeafNode(this_INT_0, grammarAccess.getEMSAccess().getINTTerminalRuleCall_0());
+ }
+
+ kw='em'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEMSAccess().getEmKeyword_1());
+ }
+)
+ ;
+
+
+
+
+
+// Entry rule entryRuleEXS
+entryRuleEXS returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getEXSRule()); }
+ iv_ruleEXS=ruleEXS
+ { $current=$iv_ruleEXS.current.getText(); }
+ EOF
+;
+
+// Rule EXS
+ruleEXS returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( this_INT_0=RULE_INT {
+ $current.merge(this_INT_0);
+ }
+
+ {
+ newLeafNode(this_INT_0, grammarAccess.getEXSAccess().getINTTerminalRuleCall_0());
+ }
+
+ kw='ex'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEXSAccess().getExKeyword_1());
+ }
+)
+ ;
+
+
+
+
+
+// Entry rule entryRuleLENGTH
+entryRuleLENGTH returns [String current=null]
+ @init {
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+ }
+ :
+ { newCompositeNode(grammarAccess.getLENGTHRule()); }
+ iv_ruleLENGTH=ruleLENGTH
+ { $current=$iv_ruleLENGTH.current.getText(); }
+ EOF
+;
+finally {
+ myHiddenTokenState.restore();
+}
+
+// Rule LENGTH
+ruleLENGTH returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+ }
+ @after { leaveRule(); }:
+( this_INT_0=RULE_INT {
+ $current.merge(this_INT_0);
+ }
+
+ {
+ newLeafNode(this_INT_0, grammarAccess.getLENGTHAccess().getINTTerminalRuleCall_0());
+ }
+(
+ kw='px'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getLENGTHAccess().getPxKeyword_1_0());
+ }
+
+ |
+ kw='cm'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getLENGTHAccess().getCmKeyword_1_1());
+ }
+
+ |
+ kw='mm'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getLENGTHAccess().getMmKeyword_1_2());
+ }
+
+ |
+ kw='in'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getLENGTHAccess().getInKeyword_1_3());
+ }
+
+ |
+ kw='pt'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getLENGTHAccess().getPtKeyword_1_4());
+ }
+
+ |
+ kw='pc'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getLENGTHAccess().getPcKeyword_1_5());
+ }
+))
+ ;
+finally {
+ myHiddenTokenState.restore();
+}
+
+
+
+
+
+// Entry rule entryRuleANGLE
+entryRuleANGLE returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getANGLERule()); }
+ iv_ruleANGLE=ruleANGLE
+ { $current=$iv_ruleANGLE.current.getText(); }
+ EOF
+;
+
+// Rule ANGLE
+ruleANGLE returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( this_INT_0=RULE_INT {
+ $current.merge(this_INT_0);
+ }
+
+ {
+ newLeafNode(this_INT_0, grammarAccess.getANGLEAccess().getINTTerminalRuleCall_0());
+ }
+(
+ kw='deg'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getANGLEAccess().getDegKeyword_1_0());
+ }
+
+ |
+ kw='rad'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getANGLEAccess().getRadKeyword_1_1());
+ }
+
+ |
+ kw='grad'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getANGLEAccess().getGradKeyword_1_2());
+ }
+))
+ ;
+
+
+
+
+
+// Entry rule entryRuleTIME
+entryRuleTIME returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getTIMERule()); }
+ iv_ruleTIME=ruleTIME
+ { $current=$iv_ruleTIME.current.getText(); }
+ EOF
+;
+
+// Rule TIME
+ruleTIME returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( this_INT_0=RULE_INT {
+ $current.merge(this_INT_0);
+ }
+
+ {
+ newLeafNode(this_INT_0, grammarAccess.getTIMEAccess().getINTTerminalRuleCall_0());
+ }
+(
+ kw='ms'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getTIMEAccess().getMsKeyword_1_0());
+ }
+
+ |
+ kw='s'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getTIMEAccess().getSKeyword_1_1());
+ }
+))
+ ;
+
+
+
+
+
+// Entry rule entryRuleFREQ
+entryRuleFREQ returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getFREQRule()); }
+ iv_ruleFREQ=ruleFREQ
+ { $current=$iv_ruleFREQ.current.getText(); }
+ EOF
+;
+
+// Rule FREQ
+ruleFREQ returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( this_INT_0=RULE_INT {
+ $current.merge(this_INT_0);
+ }
+
+ {
+ newLeafNode(this_INT_0, grammarAccess.getFREQAccess().getINTTerminalRuleCall_0());
+ }
+(
+ kw='hz'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getFREQAccess().getHzKeyword_1_0());
+ }
+
+ |
+ kw='khz'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getFREQAccess().getKhzKeyword_1_1());
+ }
+))
+ ;
+
+
+
+
+
+// Entry rule entryRulecss_hash_class
+entryRulecss_hash_class returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getCss_hash_classRule()); }
+ iv_rulecss_hash_class=rulecss_hash_class
+ { $current=$iv_rulecss_hash_class.current; }
+ EOF
+;
+
+// Rule css_hash_class
+rulecss_hash_class returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+(
+ lv_type_0_1= '#'
+ {
+ newLeafNode(lv_type_0_1, grammarAccess.getCss_hash_classAccess().getTypeNumberSignKeyword_0_0_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getCss_hash_classRule());
+ }
+ setWithLastConsumed($current, "type", lv_type_0_1, null);
+ }
+
+ | lv_type_0_2= '.'
+ {
+ newLeafNode(lv_type_0_2, grammarAccess.getCss_hash_classAccess().getTypeFullStopKeyword_0_0_1());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getCss_hash_classRule());
+ }
+ setWithLastConsumed($current, "type", lv_type_0_2, null);
+ }
+
+)
+
+)
+)(
+(
+ lv_name_1_0=RULE_IDENT
+ {
+ newLeafNode(lv_name_1_0, grammarAccess.getCss_hash_classAccess().getNameIdentTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getCss_hash_classRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_1_0,
+ "ident");
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRulecombinator
+entryRulecombinator returns [String current=null]
+ @init {
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens("RULE_WS");
+ }
+ :
+ { newCompositeNode(grammarAccess.getCombinatorRule()); }
+ iv_rulecombinator=rulecombinator
+ { $current=$iv_rulecombinator.current.getText(); }
+ EOF
+;
+finally {
+ myHiddenTokenState.restore();
+}
+
+// Rule combinator
+rulecombinator returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens("RULE_WS");
+ }
+ @after { leaveRule(); }:
+(
+ kw='+'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getCombinatorAccess().getPlusSignKeyword_0());
+ }
+
+ |
+ kw='>'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getCombinatorAccess().getGreaterThanSignKeyword_1());
+ }
+)
+ ;
+finally {
+ myHiddenTokenState.restore();
+}
+
+
+
+
+
+// Entry rule entryRuleunary_operator
+entryRuleunary_operator returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getUnary_operatorRule()); }
+ iv_ruleunary_operator=ruleunary_operator
+ { $current=$iv_ruleunary_operator.current.getText(); }
+ EOF
+;
+
+// Rule unary_operator
+ruleunary_operator returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ kw='-'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getUnary_operatorAccess().getHyphenMinusKeyword_0());
+ }
+
+ |
+ kw='+'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getUnary_operatorAccess().getPlusSignKeyword_1());
+ }
+)
+ ;
+
+
+
+
+
+RULE_HEXDIGITS : '#' ('0'..'9'|'a'..'f'|'A'..'F')+;
+
+RULE_IDENT : ('_'|'-'|'a'..'z'|'A'..'Z') ('_'|'-'|'a'..'z'|'A'..'Z'|'0'..'9')*;
+
+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/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.tokens b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.tokens
new file mode 100644
index 00000000..d3e1bc36
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.tokens
@@ -0,0 +1,77 @@
+RULE_ID=9
+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=12
+T__21=21
+T__20=20
+T__19=19
+T__16=16
+T__15=15
+T__18=18
+T__17=17
+T__14=14
+T__13=13
+RULE_INT=8
+T__42=42
+T__43=43
+T__40=40
+T__41=41
+T__46=46
+T__44=44
+T__45=45
+RULE_SL_COMMENT=11
+RULE_ML_COMMENT=10
+T__30=30
+T__31=31
+T__32=32
+RULE_STRING=4
+T__33=33
+T__34=34
+T__35=35
+T__36=36
+T__37=37
+T__38=38
+RULE_IDENT=6
+T__39=39
+RULE_HEXDIGITS=7
+RULE_WS=5
+'#'=43
+'deg'=36
+'ms'=39
+'/'=21
+'hz'=41
+'rad'=37
+'>'=45
+'\\'=25
+'pc'=35
+';'=15
+'@import'=17
+'cm'=31
+'+'=44
+')'=23
+'.'=26
+'%'=27
+'url'=24
+'}'=16
+'ex'=29
+'grad'=38
+'{'=14
+'pt'=34
+'mm'=32
+'s'=40
+'em'=28
+'khz'=42
+'('=22
+':'=18
+'-'=46
+'*'=19
+','=13
+'!important'=20
+'in'=33
+'px'=30
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSSLexer.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSSLexer.java
new file mode 100644
index 00000000..f1103189
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSSLexer.java
@@ -0,0 +1,2018 @@
+package org.eclipse.e4.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 InternalCSSLexer extends Lexer {
+ public static final int RULE_ID=9;
+ 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 T__21=21;
+ public static final int RULE_ANY_OTHER=12;
+ public static final int T__20=20;
+ public static final int EOF=-1;
+ public static final int T__19=19;
+ public static final int T__16=16;
+ 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__14=14;
+ public static final int T__13=13;
+ public static final int RULE_INT=8;
+ 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__44=44;
+ public static final int T__45=45;
+ public static final int RULE_SL_COMMENT=11;
+ public static final int RULE_ML_COMMENT=10;
+ 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 RULE_IDENT=6;
+ public static final int T__39=39;
+ public static final int RULE_HEXDIGITS=7;
+ public static final int RULE_WS=5;
+
+ // delegates
+ // delegators
+
+ public InternalCSSLexer() {;}
+ public InternalCSSLexer(CharStream input) {
+ this(input, new RecognizerSharedState());
+ }
+ public InternalCSSLexer(CharStream input, RecognizerSharedState state) {
+ super(input,state);
+
+ }
+ public String getGrammarFileName() { return "../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g"; }
+
+ // $ANTLR start "T__13"
+ public final void mT__13() throws RecognitionException {
+ try {
+ int _type = T__13;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:11:7: ( ',' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:11:9: ','
+ {
+ match(',');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__13"
+
+ // $ANTLR start "T__14"
+ public final void mT__14() throws RecognitionException {
+ try {
+ int _type = T__14;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:12:7: ( '{' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:12:9: '{'
+ {
+ match('{');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__14"
+
+ // $ANTLR start "T__15"
+ public final void mT__15() throws RecognitionException {
+ try {
+ int _type = T__15;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:13:7: ( ';' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:13:9: ';'
+ {
+ match(';');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__15"
+
+ // $ANTLR start "T__16"
+ public final void mT__16() throws RecognitionException {
+ try {
+ int _type = T__16;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:14:7: ( '}' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:14:9: '}'
+ {
+ match('}');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__16"
+
+ // $ANTLR start "T__17"
+ public final void mT__17() throws RecognitionException {
+ try {
+ int _type = T__17;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:15:7: ( '@import' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:15:9: '@import'
+ {
+ match("@import");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__17"
+
+ // $ANTLR start "T__18"
+ public final void mT__18() throws RecognitionException {
+ try {
+ int _type = T__18;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:16:7: ( ':' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:16:9: ':'
+ {
+ match(':');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__18"
+
+ // $ANTLR start "T__19"
+ public final void mT__19() throws RecognitionException {
+ try {
+ int _type = T__19;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:17:7: ( '*' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:17:9: '*'
+ {
+ match('*');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__19"
+
+ // $ANTLR start "T__20"
+ public final void mT__20() throws RecognitionException {
+ try {
+ int _type = T__20;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:18:7: ( '!important' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:18:9: '!important'
+ {
+ match("!important");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__20"
+
+ // $ANTLR start "T__21"
+ public final void mT__21() throws RecognitionException {
+ try {
+ int _type = T__21;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:19:7: ( '/' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:19:9: '/'
+ {
+ match('/');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__21"
+
+ // $ANTLR start "T__22"
+ public final void mT__22() throws RecognitionException {
+ try {
+ int _type = T__22;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:20:7: ( '(' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:20:9: '('
+ {
+ match('(');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__22"
+
+ // $ANTLR start "T__23"
+ public final void mT__23() throws RecognitionException {
+ try {
+ int _type = T__23;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:21:7: ( ')' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:21:9: ')'
+ {
+ match(')');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__23"
+
+ // $ANTLR start "T__24"
+ public final void mT__24() throws RecognitionException {
+ try {
+ int _type = T__24;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:22:7: ( 'url' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:22:9: 'url'
+ {
+ match("url");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__24"
+
+ // $ANTLR start "T__25"
+ public final void mT__25() throws RecognitionException {
+ try {
+ int _type = T__25;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:23:7: ( '\\\\' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:23:9: '\\\\'
+ {
+ match('\\');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__25"
+
+ // $ANTLR start "T__26"
+ public final void mT__26() throws RecognitionException {
+ try {
+ int _type = T__26;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:24:7: ( '.' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:24:9: '.'
+ {
+ match('.');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__26"
+
+ // $ANTLR start "T__27"
+ public final void mT__27() throws RecognitionException {
+ try {
+ int _type = T__27;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:25:7: ( '%' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:25:9: '%'
+ {
+ match('%');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__27"
+
+ // $ANTLR start "T__28"
+ public final void mT__28() throws RecognitionException {
+ try {
+ int _type = T__28;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:26:7: ( 'em' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:26:9: 'em'
+ {
+ match("em");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__28"
+
+ // $ANTLR start "T__29"
+ public final void mT__29() throws RecognitionException {
+ try {
+ int _type = T__29;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:27:7: ( 'ex' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:27:9: 'ex'
+ {
+ match("ex");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__29"
+
+ // $ANTLR start "T__30"
+ public final void mT__30() throws RecognitionException {
+ try {
+ int _type = T__30;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:28:7: ( 'px' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:28:9: 'px'
+ {
+ match("px");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__30"
+
+ // $ANTLR start "T__31"
+ public final void mT__31() throws RecognitionException {
+ try {
+ int _type = T__31;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:29:7: ( 'cm' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:29:9: 'cm'
+ {
+ match("cm");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__31"
+
+ // $ANTLR start "T__32"
+ public final void mT__32() throws RecognitionException {
+ try {
+ int _type = T__32;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:30:7: ( 'mm' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:30:9: 'mm'
+ {
+ match("mm");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__32"
+
+ // $ANTLR start "T__33"
+ public final void mT__33() throws RecognitionException {
+ try {
+ int _type = T__33;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:31:7: ( 'in' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:31:9: 'in'
+ {
+ match("in");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__33"
+
+ // $ANTLR start "T__34"
+ public final void mT__34() throws RecognitionException {
+ try {
+ int _type = T__34;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:32:7: ( 'pt' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:32:9: 'pt'
+ {
+ match("pt");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__34"
+
+ // $ANTLR start "T__35"
+ public final void mT__35() throws RecognitionException {
+ try {
+ int _type = T__35;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:33:7: ( 'pc' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:33:9: 'pc'
+ {
+ match("pc");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__35"
+
+ // $ANTLR start "T__36"
+ public final void mT__36() throws RecognitionException {
+ try {
+ int _type = T__36;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:34:7: ( 'deg' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:34:9: 'deg'
+ {
+ match("deg");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__36"
+
+ // $ANTLR start "T__37"
+ public final void mT__37() throws RecognitionException {
+ try {
+ int _type = T__37;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:35:7: ( 'rad' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:35:9: 'rad'
+ {
+ match("rad");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__37"
+
+ // $ANTLR start "T__38"
+ public final void mT__38() throws RecognitionException {
+ try {
+ int _type = T__38;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:36:7: ( 'grad' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:36:9: 'grad'
+ {
+ match("grad");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__38"
+
+ // $ANTLR start "T__39"
+ public final void mT__39() throws RecognitionException {
+ try {
+ int _type = T__39;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:37:7: ( 'ms' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:37:9: 'ms'
+ {
+ match("ms");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__39"
+
+ // $ANTLR start "T__40"
+ public final void mT__40() throws RecognitionException {
+ try {
+ int _type = T__40;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:38:7: ( 's' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:38:9: 's'
+ {
+ match('s');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__40"
+
+ // $ANTLR start "T__41"
+ public final void mT__41() throws RecognitionException {
+ try {
+ int _type = T__41;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:39:7: ( 'hz' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:39:9: 'hz'
+ {
+ match("hz");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__41"
+
+ // $ANTLR start "T__42"
+ public final void mT__42() throws RecognitionException {
+ try {
+ int _type = T__42;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:40:7: ( 'khz' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:40:9: 'khz'
+ {
+ match("khz");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__42"
+
+ // $ANTLR start "T__43"
+ public final void mT__43() throws RecognitionException {
+ try {
+ int _type = T__43;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:41:7: ( '#' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:41:9: '#'
+ {
+ match('#');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__43"
+
+ // $ANTLR start "T__44"
+ public final void mT__44() throws RecognitionException {
+ try {
+ int _type = T__44;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:42:7: ( '+' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:42:9: '+'
+ {
+ match('+');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__44"
+
+ // $ANTLR start "T__45"
+ public final void mT__45() throws RecognitionException {
+ try {
+ int _type = T__45;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:43:7: ( '>' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:43:9: '>'
+ {
+ match('>');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__45"
+
+ // $ANTLR start "T__46"
+ public final void mT__46() throws RecognitionException {
+ try {
+ int _type = T__46;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:44:7: ( '-' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:44:9: '-'
+ {
+ match('-');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__46"
+
+ // $ANTLR start "RULE_HEXDIGITS"
+ public final void mRULE_HEXDIGITS() throws RecognitionException {
+ try {
+ int _type = RULE_HEXDIGITS;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1719:16: ( '#' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1719:18: '#' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
+ {
+ match('#');
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1719:22: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
+ int cnt1=0;
+ loop1:
+ do {
+ int alt1=2;
+ int LA1_0 = input.LA(1);
+
+ if ( ((LA1_0>='0' && LA1_0<='9')||(LA1_0>='A' && LA1_0<='F')||(LA1_0>='a' && LA1_0<='f')) ) {
+ alt1=1;
+ }
+
+
+ switch (alt1) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:
+ {
+ if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ if ( cnt1 >= 1 ) break loop1;
+ EarlyExitException eee =
+ new EarlyExitException(1, input);
+ throw eee;
+ }
+ cnt1++;
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_HEXDIGITS"
+
+ // $ANTLR start "RULE_IDENT"
+ public final void mRULE_IDENT() throws RecognitionException {
+ try {
+ int _type = RULE_IDENT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1721:12: ( ( '_' | '-' | 'a' .. 'z' | 'A' .. 'Z' ) ( '_' | '-' | 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' )* )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1721:14: ( '_' | '-' | 'a' .. 'z' | 'A' .. 'Z' ) ( '_' | '-' | 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' )*
+ {
+ if ( input.LA(1)=='-'||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1721:42: ( '_' | '-' | 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' )*
+ loop2:
+ do {
+ int alt2=2;
+ int LA2_0 = input.LA(1);
+
+ if ( (LA2_0=='-'||(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.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:
+ {
+ if ( input.LA(1)=='-'||(input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+
+ }
+ break;
+
+ default :
+ break loop2;
+ }
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_IDENT"
+
+ // $ANTLR start "RULE_ID"
+ public final void mRULE_ID() throws RecognitionException {
+ try {
+ int _type = RULE_ID;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1723:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1723:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1723:11: ( '^' )?
+ int alt3=2;
+ int LA3_0 = input.LA(1);
+
+ if ( (LA3_0=='^') ) {
+ alt3=1;
+ }
+ switch (alt3) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1723:11: '^'
+ {
+ match('^');
+
+ }
+ break;
+
+ }
+
+ if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1723:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+ loop4:
+ do {
+ int alt4=2;
+ int LA4_0 = input.LA(1);
+
+ if ( ((LA4_0>='0' && LA4_0<='9')||(LA4_0>='A' && LA4_0<='Z')||LA4_0=='_'||(LA4_0>='a' && LA4_0<='z')) ) {
+ alt4=1;
+ }
+
+
+ switch (alt4) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.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 loop4;
+ }
+ } 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.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1725:10: ( ( '0' .. '9' )+ )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1725:12: ( '0' .. '9' )+
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1725:12: ( '0' .. '9' )+
+ int cnt5=0;
+ loop5:
+ do {
+ int alt5=2;
+ int LA5_0 = input.LA(1);
+
+ if ( ((LA5_0>='0' && LA5_0<='9')) ) {
+ alt5=1;
+ }
+
+
+ switch (alt5) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1725:13: '0' .. '9'
+ {
+ matchRange('0','9');
+
+ }
+ break;
+
+ default :
+ if ( cnt5 >= 1 ) break loop5;
+ EarlyExitException eee =
+ new EarlyExitException(5, input);
+ throw eee;
+ }
+ cnt5++;
+ } 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.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1727:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1727:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1727:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+ int alt8=2;
+ int LA8_0 = input.LA(1);
+
+ if ( (LA8_0=='\"') ) {
+ alt8=1;
+ }
+ else if ( (LA8_0=='\'') ) {
+ alt8=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 8, 0, input);
+
+ throw nvae;
+ }
+ switch (alt8) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1727:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+ {
+ match('\"');
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1727:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
+ loop6:
+ do {
+ int alt6=3;
+ int LA6_0 = input.LA(1);
+
+ if ( (LA6_0=='\\') ) {
+ alt6=1;
+ }
+ else if ( ((LA6_0>='\u0000' && LA6_0<='!')||(LA6_0>='#' && LA6_0<='[')||(LA6_0>=']' && LA6_0<='\uFFFF')) ) {
+ alt6=2;
+ }
+
+
+ switch (alt6) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1727: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.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1727: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 loop6;
+ }
+ } while (true);
+
+ match('\"');
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1727:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+ {
+ match('\'');
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1727:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
+ loop7:
+ do {
+ int alt7=3;
+ int LA7_0 = input.LA(1);
+
+ if ( (LA7_0=='\\') ) {
+ alt7=1;
+ }
+ else if ( ((LA7_0>='\u0000' && LA7_0<='&')||(LA7_0>='(' && LA7_0<='[')||(LA7_0>=']' && LA7_0<='\uFFFF')) ) {
+ alt7=2;
+ }
+
+
+ switch (alt7) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1727: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.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1727: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 loop7;
+ }
+ } 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.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1729:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1729:19: '/*' ( options {greedy=false; } : . )* '*/'
+ {
+ match("/*");
+
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1729:24: ( options {greedy=false; } : . )*
+ loop9:
+ do {
+ int alt9=2;
+ int LA9_0 = input.LA(1);
+
+ if ( (LA9_0=='*') ) {
+ int LA9_1 = input.LA(2);
+
+ if ( (LA9_1=='/') ) {
+ alt9=2;
+ }
+ else if ( ((LA9_1>='\u0000' && LA9_1<='.')||(LA9_1>='0' && LA9_1<='\uFFFF')) ) {
+ alt9=1;
+ }
+
+
+ }
+ else if ( ((LA9_0>='\u0000' && LA9_0<=')')||(LA9_0>='+' && LA9_0<='\uFFFF')) ) {
+ alt9=1;
+ }
+
+
+ switch (alt9) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1729:52: .
+ {
+ matchAny();
+
+ }
+ break;
+
+ default :
+ break loop9;
+ }
+ } while (true);
+
+ match("*/");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ML_COMMENT"
+
+ // $ANTLR start "RULE_SL_COMMENT"
+ public final void mRULE_SL_COMMENT() throws RecognitionException {
+ try {
+ int _type = RULE_SL_COMMENT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1731:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1731:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
+ {
+ match("//");
+
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1731:24: (~ ( ( '\\n' | '\\r' ) ) )*
+ loop10:
+ do {
+ int alt10=2;
+ int LA10_0 = input.LA(1);
+
+ if ( ((LA10_0>='\u0000' && LA10_0<='\t')||(LA10_0>='\u000B' && LA10_0<='\f')||(LA10_0>='\u000E' && LA10_0<='\uFFFF')) ) {
+ alt10=1;
+ }
+
+
+ switch (alt10) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1731: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 loop10;
+ }
+ } while (true);
+
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1731:40: ( ( '\\r' )? '\\n' )?
+ int alt12=2;
+ int LA12_0 = input.LA(1);
+
+ if ( (LA12_0=='\n'||LA12_0=='\r') ) {
+ alt12=1;
+ }
+ switch (alt12) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1731:41: ( '\\r' )? '\\n'
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1731:41: ( '\\r' )?
+ int alt11=2;
+ int LA11_0 = input.LA(1);
+
+ if ( (LA11_0=='\r') ) {
+ alt11=1;
+ }
+ switch (alt11) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1731:41: '\\r'
+ {
+ match('\r');
+
+ }
+ break;
+
+ }
+
+ match('\n');
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_SL_COMMENT"
+
+ // $ANTLR start "RULE_WS"
+ public final void mRULE_WS() throws RecognitionException {
+ try {
+ int _type = RULE_WS;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1733:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1733:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1733:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ int cnt13=0;
+ loop13:
+ do {
+ int alt13=2;
+ int LA13_0 = input.LA(1);
+
+ if ( ((LA13_0>='\t' && LA13_0<='\n')||LA13_0=='\r'||LA13_0==' ') ) {
+ alt13=1;
+ }
+
+
+ switch (alt13) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.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 ( cnt13 >= 1 ) break loop13;
+ EarlyExitException eee =
+ new EarlyExitException(13, input);
+ throw eee;
+ }
+ cnt13++;
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_WS"
+
+ // $ANTLR start "RULE_ANY_OTHER"
+ public final void mRULE_ANY_OTHER() throws RecognitionException {
+ try {
+ int _type = RULE_ANY_OTHER;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1735:16: ( . )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1735:18: .
+ {
+ matchAny();
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ANY_OTHER"
+
+ public void mTokens() throws RecognitionException {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:8: ( T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | RULE_HEXDIGITS | RULE_IDENT | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
+ int alt14=43;
+ alt14 = dfa14.predict(input);
+ switch (alt14) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:10: T__13
+ {
+ mT__13();
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:16: T__14
+ {
+ mT__14();
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:22: T__15
+ {
+ mT__15();
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:28: T__16
+ {
+ mT__16();
+
+ }
+ break;
+ case 5 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:34: T__17
+ {
+ mT__17();
+
+ }
+ break;
+ case 6 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:40: T__18
+ {
+ mT__18();
+
+ }
+ break;
+ case 7 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:46: T__19
+ {
+ mT__19();
+
+ }
+ break;
+ case 8 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:52: T__20
+ {
+ mT__20();
+
+ }
+ break;
+ case 9 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:58: T__21
+ {
+ mT__21();
+
+ }
+ break;
+ case 10 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:64: T__22
+ {
+ mT__22();
+
+ }
+ break;
+ case 11 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:70: T__23
+ {
+ mT__23();
+
+ }
+ break;
+ case 12 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:76: T__24
+ {
+ mT__24();
+
+ }
+ break;
+ case 13 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:82: T__25
+ {
+ mT__25();
+
+ }
+ break;
+ case 14 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:88: T__26
+ {
+ mT__26();
+
+ }
+ break;
+ case 15 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:94: T__27
+ {
+ mT__27();
+
+ }
+ break;
+ case 16 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:100: T__28
+ {
+ mT__28();
+
+ }
+ break;
+ case 17 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:106: T__29
+ {
+ mT__29();
+
+ }
+ break;
+ case 18 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:112: T__30
+ {
+ mT__30();
+
+ }
+ break;
+ case 19 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:118: T__31
+ {
+ mT__31();
+
+ }
+ break;
+ case 20 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:124: T__32
+ {
+ mT__32();
+
+ }
+ break;
+ case 21 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:130: T__33
+ {
+ mT__33();
+
+ }
+ break;
+ case 22 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:136: T__34
+ {
+ mT__34();
+
+ }
+ break;
+ case 23 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:142: T__35
+ {
+ mT__35();
+
+ }
+ break;
+ case 24 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:148: T__36
+ {
+ mT__36();
+
+ }
+ break;
+ case 25 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:154: T__37
+ {
+ mT__37();
+
+ }
+ break;
+ case 26 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:160: T__38
+ {
+ mT__38();
+
+ }
+ break;
+ case 27 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:166: T__39
+ {
+ mT__39();
+
+ }
+ break;
+ case 28 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:172: T__40
+ {
+ mT__40();
+
+ }
+ break;
+ case 29 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:178: T__41
+ {
+ mT__41();
+
+ }
+ break;
+ case 30 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:184: T__42
+ {
+ mT__42();
+
+ }
+ break;
+ case 31 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:190: T__43
+ {
+ mT__43();
+
+ }
+ break;
+ case 32 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:196: T__44
+ {
+ mT__44();
+
+ }
+ break;
+ case 33 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:202: T__45
+ {
+ mT__45();
+
+ }
+ break;
+ case 34 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:208: T__46
+ {
+ mT__46();
+
+ }
+ break;
+ case 35 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:214: RULE_HEXDIGITS
+ {
+ mRULE_HEXDIGITS();
+
+ }
+ break;
+ case 36 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:229: RULE_IDENT
+ {
+ mRULE_IDENT();
+
+ }
+ break;
+ case 37 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:240: RULE_ID
+ {
+ mRULE_ID();
+
+ }
+ break;
+ case 38 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:248: RULE_INT
+ {
+ mRULE_INT();
+
+ }
+ break;
+ case 39 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:257: RULE_STRING
+ {
+ mRULE_STRING();
+
+ }
+ break;
+ case 40 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:269: RULE_ML_COMMENT
+ {
+ mRULE_ML_COMMENT();
+
+ }
+ break;
+ case 41 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:285: RULE_SL_COMMENT
+ {
+ mRULE_SL_COMMENT();
+
+ }
+ break;
+ case 42 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:301: RULE_WS
+ {
+ mRULE_WS();
+
+ }
+ break;
+ case 43 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1:309: RULE_ANY_OTHER
+ {
+ mRULE_ANY_OTHER();
+
+ }
+ break;
+
+ }
+
+ }
+
+
+ protected DFA14 dfa14 = new DFA14(this);
+ static final String DFA14_eotS =
+ "\5\uffff\1\45\2\uffff\1\45\1\60\2\uffff\1\65\3\uffff\10\65\1\105"+
+ "\2\65\1\111\2\uffff\1\114\1\65\1\45\1\uffff\2\45\17\uffff\2\65\4"+
+ "\uffff\1\122\1\123\1\124\1\125\1\126\1\127\1\130\1\131\1\132\3\65"+
+ "\1\uffff\1\136\1\65\11\uffff\1\140\11\uffff\1\141\1\142\1\65\1\uffff"+
+ "\1\144\3\uffff\1\145\2\uffff";
+ static final String DFA14_eofS =
+ "\146\uffff";
+ static final String DFA14_minS =
+ "\1\0\4\uffff\1\151\2\uffff\1\151\1\52\2\uffff\1\60\3\uffff\10\60"+
+ "\1\55\3\60\2\uffff\1\55\1\60\1\101\1\uffff\2\0\17\uffff\2\60\4\uffff"+
+ "\11\55\3\60\1\uffff\1\55\1\60\11\uffff\1\55\11\uffff\2\55\1\60\1"+
+ "\uffff\1\55\3\uffff\1\55\2\uffff";
+ static final String DFA14_maxS =
+ "\1\uffff\4\uffff\1\151\2\uffff\1\151\1\57\2\uffff\1\172\3\uffff"+
+ "\13\172\1\146\2\uffff\3\172\1\uffff\2\uffff\17\uffff\2\172\4\uffff"+
+ "\14\172\1\uffff\2\172\11\uffff\1\172\11\uffff\3\172\1\uffff\1\172"+
+ "\3\uffff\1\172\2\uffff";
+ static final String DFA14_acceptS =
+ "\1\uffff\1\1\1\2\1\3\1\4\1\uffff\1\6\1\7\2\uffff\1\12\1\13\1\uffff"+
+ "\1\15\1\16\1\17\14\uffff\1\40\1\41\3\uffff\1\46\2\uffff\1\52\1\53"+
+ "\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\50\1\51\1\11\1\12\1\13\2\uffff"+
+ "\1\44\1\15\1\16\1\17\14\uffff\1\34\2\uffff\1\43\1\37\1\40\1\41\1"+
+ "\42\1\45\1\46\1\47\1\52\1\uffff\1\20\1\21\1\22\1\26\1\27\1\23\1"+
+ "\24\1\33\1\25\3\uffff\1\35\1\uffff\1\14\1\30\1\31\1\uffff\1\36\1"+
+ "\32";
+ static final String DFA14_specialS =
+ "\1\1\41\uffff\1\0\1\2\102\uffff}>";
+ static final String[] DFA14_transitionS = {
+ "\11\45\2\44\2\45\1\44\22\45\1\44\1\10\1\42\1\33\1\45\1\17\1"+
+ "\45\1\43\1\12\1\13\1\7\1\34\1\1\1\36\1\16\1\11\12\41\1\6\1\3"+
+ "\2\45\1\35\1\45\1\5\32\37\1\45\1\15\1\45\1\40\1\37\1\45\2\37"+
+ "\1\22\1\25\1\20\1\37\1\27\1\31\1\24\1\37\1\32\1\37\1\23\2\37"+
+ "\1\21\1\37\1\26\1\30\1\37\1\14\5\37\1\2\1\45\1\4\uff82\45",
+ "",
+ "",
+ "",
+ "",
+ "\1\52",
+ "",
+ "",
+ "\1\55",
+ "\1\56\4\uffff\1\57",
+ "",
+ "",
+ "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\21\64\1\63\10\64",
+ "",
+ "",
+ "",
+ "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\14\64\1\71\12\64"+
+ "\1\72\2\64",
+ "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\2\64\1\75\20\64"+
+ "\1\74\3\64\1\73\2\64",
+ "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\14\64\1\76\15\64",
+ "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\14\64\1\77\5\64"+
+ "\1\100\7\64",
+ "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\15\64\1\101\14\64",
+ "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\4\64\1\102\25\64",
+ "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\1\103\31\64",
+ "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\21\64\1\104\10\64",
+ "\1\65\2\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+ "\64",
+ "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\31\64\1\106",
+ "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\7\64\1\107\22\64",
+ "\12\110\7\uffff\6\110\32\uffff\6\110",
+ "",
+ "",
+ "\1\65\2\uffff\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32"+
+ "\65",
+ "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
+ "\32\115\4\uffff\1\115\1\uffff\32\115",
+ "",
+ "\0\117",
+ "\0\117",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\13\64\1\121\16\64",
+ "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32\64",
+ "",
+ "",
+ "",
+ "",
+ "\1\65\2\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+ "\64",
+ "\1\65\2\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+ "\64",
+ "\1\65\2\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+ "\64",
+ "\1\65\2\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+ "\64",
+ "\1\65\2\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+ "\64",
+ "\1\65\2\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+ "\64",
+ "\1\65\2\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+ "\64",
+ "\1\65\2\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+ "\64",
+ "\1\65\2\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+ "\64",
+ "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\6\64\1\133\23\64",
+ "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\3\64\1\134\26\64",
+ "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\1\135\31\64",
+ "",
+ "\1\65\2\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+ "\64",
+ "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\31\64\1\137",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\65\2\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+ "\64",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\65\2\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+ "\64",
+ "\1\65\2\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+ "\64",
+ "\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\3\64\1\143\26\64",
+ "",
+ "\1\65\2\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+ "\64",
+ "",
+ "",
+ "",
+ "\1\65\2\uffff\12\64\7\uffff\32\64\4\uffff\1\64\1\uffff\32"+
+ "\64",
+ "",
+ ""
+ };
+
+ static final short[] DFA14_eot = DFA.unpackEncodedString(DFA14_eotS);
+ static final short[] DFA14_eof = DFA.unpackEncodedString(DFA14_eofS);
+ static final char[] DFA14_min = DFA.unpackEncodedStringToUnsignedChars(DFA14_minS);
+ static final char[] DFA14_max = DFA.unpackEncodedStringToUnsignedChars(DFA14_maxS);
+ static final short[] DFA14_accept = DFA.unpackEncodedString(DFA14_acceptS);
+ static final short[] DFA14_special = DFA.unpackEncodedString(DFA14_specialS);
+ static final short[][] DFA14_transition;
+
+ static {
+ int numStates = DFA14_transitionS.length;
+ DFA14_transition = new short[numStates][];
+ for (int i=0; i<numStates; i++) {
+ DFA14_transition[i] = DFA.unpackEncodedString(DFA14_transitionS[i]);
+ }
+ }
+
+ class DFA14 extends DFA {
+
+ public DFA14(BaseRecognizer recognizer) {
+ this.recognizer = recognizer;
+ this.decisionNumber = 14;
+ this.eot = DFA14_eot;
+ this.eof = DFA14_eof;
+ this.min = DFA14_min;
+ this.max = DFA14_max;
+ this.accept = DFA14_accept;
+ this.special = DFA14_special;
+ this.transition = DFA14_transition;
+ }
+ public String getDescription() {
+ return "1:1: Tokens : ( T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | RULE_HEXDIGITS | RULE_IDENT | 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 LA14_34 = input.LA(1);
+
+ s = -1;
+ if ( ((LA14_34>='\u0000' && LA14_34<='\uFFFF')) ) {s = 79;}
+
+ else s = 37;
+
+ if ( s>=0 ) return s;
+ break;
+ case 1 :
+ int LA14_0 = input.LA(1);
+
+ s = -1;
+ if ( (LA14_0==',') ) {s = 1;}
+
+ else if ( (LA14_0=='{') ) {s = 2;}
+
+ else if ( (LA14_0==';') ) {s = 3;}
+
+ else if ( (LA14_0=='}') ) {s = 4;}
+
+ else if ( (LA14_0=='@') ) {s = 5;}
+
+ else if ( (LA14_0==':') ) {s = 6;}
+
+ else if ( (LA14_0=='*') ) {s = 7;}
+
+ else if ( (LA14_0=='!') ) {s = 8;}
+
+ else if ( (LA14_0=='/') ) {s = 9;}
+
+ else if ( (LA14_0=='(') ) {s = 10;}
+
+ else if ( (LA14_0==')') ) {s = 11;}
+
+ else if ( (LA14_0=='u') ) {s = 12;}
+
+ else if ( (LA14_0=='\\') ) {s = 13;}
+
+ else if ( (LA14_0=='.') ) {s = 14;}
+
+ else if ( (LA14_0=='%') ) {s = 15;}
+
+ else if ( (LA14_0=='e') ) {s = 16;}
+
+ else if ( (LA14_0=='p') ) {s = 17;}
+
+ else if ( (LA14_0=='c') ) {s = 18;}
+
+ else if ( (LA14_0=='m') ) {s = 19;}
+
+ else if ( (LA14_0=='i') ) {s = 20;}
+
+ else if ( (LA14_0=='d') ) {s = 21;}
+
+ else if ( (LA14_0=='r') ) {s = 22;}
+
+ else if ( (LA14_0=='g') ) {s = 23;}
+
+ else if ( (LA14_0=='s') ) {s = 24;}
+
+ else if ( (LA14_0=='h') ) {s = 25;}
+
+ else if ( (LA14_0=='k') ) {s = 26;}
+
+ else if ( (LA14_0=='#') ) {s = 27;}
+
+ else if ( (LA14_0=='+') ) {s = 28;}
+
+ else if ( (LA14_0=='>') ) {s = 29;}
+
+ else if ( (LA14_0=='-') ) {s = 30;}
+
+ else if ( ((LA14_0>='A' && LA14_0<='Z')||LA14_0=='_'||(LA14_0>='a' && LA14_0<='b')||LA14_0=='f'||LA14_0=='j'||LA14_0=='l'||(LA14_0>='n' && LA14_0<='o')||LA14_0=='q'||LA14_0=='t'||(LA14_0>='v' && LA14_0<='z')) ) {s = 31;}
+
+ else if ( (LA14_0=='^') ) {s = 32;}
+
+ else if ( ((LA14_0>='0' && LA14_0<='9')) ) {s = 33;}
+
+ else if ( (LA14_0=='\"') ) {s = 34;}
+
+ else if ( (LA14_0=='\'') ) {s = 35;}
+
+ else if ( ((LA14_0>='\t' && LA14_0<='\n')||LA14_0=='\r'||LA14_0==' ') ) {s = 36;}
+
+ else if ( ((LA14_0>='\u0000' && LA14_0<='\b')||(LA14_0>='\u000B' && LA14_0<='\f')||(LA14_0>='\u000E' && LA14_0<='\u001F')||LA14_0=='$'||LA14_0=='&'||(LA14_0>='<' && LA14_0<='=')||LA14_0=='?'||LA14_0=='['||LA14_0==']'||LA14_0=='`'||LA14_0=='|'||(LA14_0>='~' && LA14_0<='\uFFFF')) ) {s = 37;}
+
+ if ( s>=0 ) return s;
+ break;
+ case 2 :
+ int LA14_35 = input.LA(1);
+
+ s = -1;
+ if ( ((LA14_35>='\u0000' && LA14_35<='\uFFFF')) ) {s = 79;}
+
+ else s = 37;
+
+ if ( s>=0 ) return s;
+ break;
+ }
+ NoViableAltException nvae =
+ new NoViableAltException(getDescription(), 14, _s, input);
+ error(nvae);
+ throw nvae;
+ }
+ }
+
+
+} \ No newline at end of file
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSSParser.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSSParser.java
new file mode 100644
index 00000000..82183de0
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSSParser.java
@@ -0,0 +1,4665 @@
+package org.eclipse.e4.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.eclipse.e4.services.CSSGrammarAccess;
+
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+
+@SuppressWarnings("all")
+public class InternalCSSParser extends AbstractInternalAntlrParser {
+ public static final String[] tokenNames = new String[] {
+ "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_WS", "RULE_IDENT", "RULE_HEXDIGITS", "RULE_INT", "RULE_ID", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_ANY_OTHER", "','", "'{'", "';'", "'}'", "'@import'", "':'", "'*'", "'!important'", "'/'", "'('", "')'", "'url'", "'\\\\'", "'.'", "'%'", "'em'", "'ex'", "'px'", "'cm'", "'mm'", "'in'", "'pt'", "'pc'", "'deg'", "'rad'", "'grad'", "'ms'", "'s'", "'hz'", "'khz'", "'#'", "'+'", "'>'", "'-'"
+ };
+ public static final int RULE_ID=9;
+ 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=12;
+ public static final int T__21=21;
+ public static final int T__20=20;
+ public static final int EOF=-1;
+ public static final int T__19=19;
+ public static final int T__16=16;
+ 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__14=14;
+ public static final int T__13=13;
+ public static final int RULE_INT=8;
+ 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__44=44;
+ public static final int T__45=45;
+ public static final int RULE_SL_COMMENT=11;
+ public static final int RULE_ML_COMMENT=10;
+ 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 RULE_IDENT=6;
+ public static final int T__39=39;
+ public static final int RULE_HEXDIGITS=7;
+ public static final int RULE_WS=5;
+
+ // delegates
+ // delegators
+
+
+ public InternalCSSParser(TokenStream input) {
+ this(input, new RecognizerSharedState());
+ }
+ public InternalCSSParser(TokenStream input, RecognizerSharedState state) {
+ super(input, state);
+
+ }
+
+
+ public String[] getTokenNames() { return InternalCSSParser.tokenNames; }
+ public String getGrammarFileName() { return "../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g"; }
+
+
+
+ private CSSGrammarAccess grammarAccess;
+
+ public InternalCSSParser(TokenStream input, CSSGrammarAccess grammarAccess) {
+ this(input);
+ this.grammarAccess = grammarAccess;
+ registerRules(grammarAccess.getGrammar());
+ }
+
+ @Override
+ protected String getFirstRuleName() {
+ return "stylesheet";
+ }
+
+ @Override
+ protected CSSGrammarAccess getGrammarAccess() {
+ return grammarAccess;
+ }
+
+
+
+ // $ANTLR start "entryRulestylesheet"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:67:1: entryRulestylesheet returns [EObject current=null] : iv_rulestylesheet= rulestylesheet EOF ;
+ public final EObject entryRulestylesheet() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_rulestylesheet = null;
+
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:68:2: (iv_rulestylesheet= rulestylesheet EOF )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:69:2: iv_rulestylesheet= rulestylesheet EOF
+ {
+ newCompositeNode(grammarAccess.getStylesheetRule());
+ pushFollow(FOLLOW_rulestylesheet_in_entryRulestylesheet75);
+ iv_rulestylesheet=rulestylesheet();
+
+ state._fsp--;
+
+ current =iv_rulestylesheet;
+ match(input,EOF,FOLLOW_EOF_in_entryRulestylesheet85);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRulestylesheet"
+
+
+ // $ANTLR start "rulestylesheet"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:76:1: rulestylesheet returns [EObject current=null] : ( ( (lv_location_0_0= RULE_STRING ) )? ( (lv_importName_1_0= rulecss_import ) )* ( (lv_ruleset_2_0= ruleRules ) )* ) ;
+ public final EObject rulestylesheet() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_location_0_0=null;
+ EObject lv_importName_1_0 = null;
+
+ EObject lv_ruleset_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:79:28: ( ( ( (lv_location_0_0= RULE_STRING ) )? ( (lv_importName_1_0= rulecss_import ) )* ( (lv_ruleset_2_0= ruleRules ) )* ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:80:1: ( ( (lv_location_0_0= RULE_STRING ) )? ( (lv_importName_1_0= rulecss_import ) )* ( (lv_ruleset_2_0= ruleRules ) )* )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:80:1: ( ( (lv_location_0_0= RULE_STRING ) )? ( (lv_importName_1_0= rulecss_import ) )* ( (lv_ruleset_2_0= ruleRules ) )* )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:80:2: ( (lv_location_0_0= RULE_STRING ) )? ( (lv_importName_1_0= rulecss_import ) )* ( (lv_ruleset_2_0= ruleRules ) )*
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:80:2: ( (lv_location_0_0= RULE_STRING ) )?
+ int alt1=2;
+ int LA1_0 = input.LA(1);
+
+ if ( (LA1_0==RULE_STRING) ) {
+ alt1=1;
+ }
+ switch (alt1) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:81:1: (lv_location_0_0= RULE_STRING )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:81:1: (lv_location_0_0= RULE_STRING )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:82:3: lv_location_0_0= RULE_STRING
+ {
+ lv_location_0_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rulestylesheet127);
+
+ newLeafNode(lv_location_0_0, grammarAccess.getStylesheetAccess().getLocationSTRINGTerminalRuleCall_0_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getStylesheetRule());
+ }
+ setWithLastConsumed(
+ current,
+ "location",
+ lv_location_0_0,
+ "STRING");
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:98:3: ( (lv_importName_1_0= rulecss_import ) )*
+ loop2:
+ do {
+ int alt2=2;
+ int LA2_0 = input.LA(1);
+
+ if ( (LA2_0==17) ) {
+ alt2=1;
+ }
+
+
+ switch (alt2) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:99:1: (lv_importName_1_0= rulecss_import )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:99:1: (lv_importName_1_0= rulecss_import )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:100:3: lv_importName_1_0= rulecss_import
+ {
+
+ newCompositeNode(grammarAccess.getStylesheetAccess().getImportNameCss_importParserRuleCall_1_0());
+
+ pushFollow(FOLLOW_rulecss_import_in_rulestylesheet154);
+ lv_importName_1_0=rulecss_import();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getStylesheetRule());
+ }
+ add(
+ current,
+ "importName",
+ lv_importName_1_0,
+ "css_import");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop2;
+ }
+ } while (true);
+
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:116:3: ( (lv_ruleset_2_0= ruleRules ) )*
+ loop3:
+ do {
+ int alt3=2;
+ int LA3_0 = input.LA(1);
+
+ if ( (LA3_0==RULE_IDENT||LA3_0==19||LA3_0==26||LA3_0==43) ) {
+ alt3=1;
+ }
+
+
+ switch (alt3) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:117:1: (lv_ruleset_2_0= ruleRules )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:117:1: (lv_ruleset_2_0= ruleRules )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:118:3: lv_ruleset_2_0= ruleRules
+ {
+
+ newCompositeNode(grammarAccess.getStylesheetAccess().getRulesetRulesParserRuleCall_2_0());
+
+ pushFollow(FOLLOW_ruleRules_in_rulestylesheet176);
+ lv_ruleset_2_0=ruleRules();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getStylesheetRule());
+ }
+ add(
+ current,
+ "ruleset",
+ lv_ruleset_2_0,
+ "Rules");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop3;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "rulestylesheet"
+
+
+ // $ANTLR start "entryRuleRules"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:142:1: entryRuleRules returns [EObject current=null] : iv_ruleRules= ruleRules EOF ;
+ public final EObject entryRuleRules() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleRules = null;
+
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:143:2: (iv_ruleRules= ruleRules EOF )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:144:2: iv_ruleRules= ruleRules EOF
+ {
+ newCompositeNode(grammarAccess.getRulesRule());
+ pushFollow(FOLLOW_ruleRules_in_entryRuleRules213);
+ iv_ruleRules=ruleRules();
+
+ state._fsp--;
+
+ current =iv_ruleRules;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleRules223);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleRules"
+
+
+ // $ANTLR start "ruleRules"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:151:1: ruleRules returns [EObject current=null] : ( ( (lv_selectors_0_0= ruleselector ) ) (otherlv_1= ',' ( (lv_selectors_2_0= ruleselector ) ) )* otherlv_3= '{' ( (lv_declarations_4_0= ruledeclaration ) )? (otherlv_5= ';' ( (lv_declarations_6_0= ruledeclaration ) )? )* otherlv_7= '}' ) ;
+ public final EObject ruleRules() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ Token otherlv_3=null;
+ Token otherlv_5=null;
+ Token otherlv_7=null;
+ EObject lv_selectors_0_0 = null;
+
+ EObject lv_selectors_2_0 = null;
+
+ EObject lv_declarations_4_0 = null;
+
+ EObject lv_declarations_6_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:154:28: ( ( ( (lv_selectors_0_0= ruleselector ) ) (otherlv_1= ',' ( (lv_selectors_2_0= ruleselector ) ) )* otherlv_3= '{' ( (lv_declarations_4_0= ruledeclaration ) )? (otherlv_5= ';' ( (lv_declarations_6_0= ruledeclaration ) )? )* otherlv_7= '}' ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:155:1: ( ( (lv_selectors_0_0= ruleselector ) ) (otherlv_1= ',' ( (lv_selectors_2_0= ruleselector ) ) )* otherlv_3= '{' ( (lv_declarations_4_0= ruledeclaration ) )? (otherlv_5= ';' ( (lv_declarations_6_0= ruledeclaration ) )? )* otherlv_7= '}' )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:155:1: ( ( (lv_selectors_0_0= ruleselector ) ) (otherlv_1= ',' ( (lv_selectors_2_0= ruleselector ) ) )* otherlv_3= '{' ( (lv_declarations_4_0= ruledeclaration ) )? (otherlv_5= ';' ( (lv_declarations_6_0= ruledeclaration ) )? )* otherlv_7= '}' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:155:2: ( (lv_selectors_0_0= ruleselector ) ) (otherlv_1= ',' ( (lv_selectors_2_0= ruleselector ) ) )* otherlv_3= '{' ( (lv_declarations_4_0= ruledeclaration ) )? (otherlv_5= ';' ( (lv_declarations_6_0= ruledeclaration ) )? )* otherlv_7= '}'
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:155:2: ( (lv_selectors_0_0= ruleselector ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:156:1: (lv_selectors_0_0= ruleselector )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:156:1: (lv_selectors_0_0= ruleselector )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:157:3: lv_selectors_0_0= ruleselector
+ {
+
+ newCompositeNode(grammarAccess.getRulesAccess().getSelectorsSelectorParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleselector_in_ruleRules269);
+ lv_selectors_0_0=ruleselector();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getRulesRule());
+ }
+ add(
+ current,
+ "selectors",
+ lv_selectors_0_0,
+ "selector");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:173:2: (otherlv_1= ',' ( (lv_selectors_2_0= ruleselector ) ) )*
+ loop4:
+ do {
+ int alt4=2;
+ int LA4_0 = input.LA(1);
+
+ if ( (LA4_0==13) ) {
+ alt4=1;
+ }
+
+
+ switch (alt4) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:173:4: otherlv_1= ',' ( (lv_selectors_2_0= ruleselector ) )
+ {
+ otherlv_1=(Token)match(input,13,FOLLOW_13_in_ruleRules282);
+
+ newLeafNode(otherlv_1, grammarAccess.getRulesAccess().getCommaKeyword_1_0());
+
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:177:1: ( (lv_selectors_2_0= ruleselector ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:178:1: (lv_selectors_2_0= ruleselector )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:178:1: (lv_selectors_2_0= ruleselector )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:179:3: lv_selectors_2_0= ruleselector
+ {
+
+ newCompositeNode(grammarAccess.getRulesAccess().getSelectorsSelectorParserRuleCall_1_1_0());
+
+ pushFollow(FOLLOW_ruleselector_in_ruleRules303);
+ lv_selectors_2_0=ruleselector();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getRulesRule());
+ }
+ add(
+ current,
+ "selectors",
+ lv_selectors_2_0,
+ "selector");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop4;
+ }
+ } while (true);
+
+ otherlv_3=(Token)match(input,14,FOLLOW_14_in_ruleRules317);
+
+ newLeafNode(otherlv_3, grammarAccess.getRulesAccess().getLeftCurlyBracketKeyword_2());
+
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:199:1: ( (lv_declarations_4_0= ruledeclaration ) )?
+ int alt5=2;
+ int LA5_0 = input.LA(1);
+
+ if ( (LA5_0==RULE_IDENT) ) {
+ alt5=1;
+ }
+ switch (alt5) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:200:1: (lv_declarations_4_0= ruledeclaration )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:200:1: (lv_declarations_4_0= ruledeclaration )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:201:3: lv_declarations_4_0= ruledeclaration
+ {
+
+ newCompositeNode(grammarAccess.getRulesAccess().getDeclarationsDeclarationParserRuleCall_3_0());
+
+ pushFollow(FOLLOW_ruledeclaration_in_ruleRules338);
+ lv_declarations_4_0=ruledeclaration();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getRulesRule());
+ }
+ add(
+ current,
+ "declarations",
+ lv_declarations_4_0,
+ "declaration");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:217:3: (otherlv_5= ';' ( (lv_declarations_6_0= ruledeclaration ) )? )*
+ loop7:
+ do {
+ int alt7=2;
+ int LA7_0 = input.LA(1);
+
+ if ( (LA7_0==15) ) {
+ alt7=1;
+ }
+
+
+ switch (alt7) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:217:5: otherlv_5= ';' ( (lv_declarations_6_0= ruledeclaration ) )?
+ {
+ otherlv_5=(Token)match(input,15,FOLLOW_15_in_ruleRules352);
+
+ newLeafNode(otherlv_5, grammarAccess.getRulesAccess().getSemicolonKeyword_4_0());
+
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:221:1: ( (lv_declarations_6_0= ruledeclaration ) )?
+ int alt6=2;
+ int LA6_0 = input.LA(1);
+
+ if ( (LA6_0==RULE_IDENT) ) {
+ alt6=1;
+ }
+ switch (alt6) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:222:1: (lv_declarations_6_0= ruledeclaration )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:222:1: (lv_declarations_6_0= ruledeclaration )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:223:3: lv_declarations_6_0= ruledeclaration
+ {
+
+ newCompositeNode(grammarAccess.getRulesAccess().getDeclarationsDeclarationParserRuleCall_4_1_0());
+
+ pushFollow(FOLLOW_ruledeclaration_in_ruleRules373);
+ lv_declarations_6_0=ruledeclaration();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getRulesRule());
+ }
+ add(
+ current,
+ "declarations",
+ lv_declarations_6_0,
+ "declaration");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop7;
+ }
+ } while (true);
+
+ otherlv_7=(Token)match(input,16,FOLLOW_16_in_ruleRules388);
+
+ newLeafNode(otherlv_7, grammarAccess.getRulesAccess().getRightCurlyBracketKeyword_5());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleRules"
+
+
+ // $ANTLR start "entryRulecss_import"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:251:1: entryRulecss_import returns [EObject current=null] : iv_rulecss_import= rulecss_import EOF ;
+ public final EObject entryRulecss_import() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_rulecss_import = null;
+
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:252:2: (iv_rulecss_import= rulecss_import EOF )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:253:2: iv_rulecss_import= rulecss_import EOF
+ {
+ newCompositeNode(grammarAccess.getCss_importRule());
+ pushFollow(FOLLOW_rulecss_import_in_entryRulecss_import424);
+ iv_rulecss_import=rulecss_import();
+
+ state._fsp--;
+
+ current =iv_rulecss_import;
+ match(input,EOF,FOLLOW_EOF_in_entryRulecss_import434);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRulecss_import"
+
+
+ // $ANTLR start "rulecss_import"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:260:1: rulecss_import returns [EObject current=null] : (otherlv_0= '@import' ( ( (lv_string_name_1_0= RULE_STRING ) ) | this_URI_2= ruleURI ) otherlv_3= ';' ) ;
+ public final EObject rulecss_import() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token lv_string_name_1_0=null;
+ Token otherlv_3=null;
+ EObject this_URI_2 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:263:28: ( (otherlv_0= '@import' ( ( (lv_string_name_1_0= RULE_STRING ) ) | this_URI_2= ruleURI ) otherlv_3= ';' ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:264:1: (otherlv_0= '@import' ( ( (lv_string_name_1_0= RULE_STRING ) ) | this_URI_2= ruleURI ) otherlv_3= ';' )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:264:1: (otherlv_0= '@import' ( ( (lv_string_name_1_0= RULE_STRING ) ) | this_URI_2= ruleURI ) otherlv_3= ';' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:264:3: otherlv_0= '@import' ( ( (lv_string_name_1_0= RULE_STRING ) ) | this_URI_2= ruleURI ) otherlv_3= ';'
+ {
+ otherlv_0=(Token)match(input,17,FOLLOW_17_in_rulecss_import471);
+
+ newLeafNode(otherlv_0, grammarAccess.getCss_importAccess().getImportKeyword_0());
+
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:268:1: ( ( (lv_string_name_1_0= RULE_STRING ) ) | this_URI_2= ruleURI )
+ int alt8=2;
+ int LA8_0 = input.LA(1);
+
+ if ( (LA8_0==RULE_STRING) ) {
+ alt8=1;
+ }
+ else if ( (LA8_0==24) ) {
+ alt8=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 8, 0, input);
+
+ throw nvae;
+ }
+ switch (alt8) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:268:2: ( (lv_string_name_1_0= RULE_STRING ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:268:2: ( (lv_string_name_1_0= RULE_STRING ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:269:1: (lv_string_name_1_0= RULE_STRING )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:269:1: (lv_string_name_1_0= RULE_STRING )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:270:3: lv_string_name_1_0= RULE_STRING
+ {
+ lv_string_name_1_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_rulecss_import489);
+
+ newLeafNode(lv_string_name_1_0, grammarAccess.getCss_importAccess().getString_nameSTRINGTerminalRuleCall_1_0_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getCss_importRule());
+ }
+ setWithLastConsumed(
+ current,
+ "string_name",
+ lv_string_name_1_0,
+ "STRING");
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:288:5: this_URI_2= ruleURI
+ {
+
+ newCompositeNode(grammarAccess.getCss_importAccess().getURIParserRuleCall_1_1());
+
+ pushFollow(FOLLOW_ruleURI_in_rulecss_import522);
+ this_URI_2=ruleURI();
+
+ state._fsp--;
+
+
+ current = this_URI_2;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+
+ }
+
+ otherlv_3=(Token)match(input,15,FOLLOW_15_in_rulecss_import534);
+
+ newLeafNode(otherlv_3, grammarAccess.getCss_importAccess().getSemicolonKeyword_2());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "rulecss_import"
+
+
+ // $ANTLR start "entryRuleselector"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:308:1: entryRuleselector returns [EObject current=null] : iv_ruleselector= ruleselector EOF ;
+ public final EObject entryRuleselector() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleselector = null;
+
+
+
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:312:2: (iv_ruleselector= ruleselector EOF )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:313:2: iv_ruleselector= ruleselector EOF
+ {
+ newCompositeNode(grammarAccess.getSelectorRule());
+ pushFollow(FOLLOW_ruleselector_in_entryRuleselector576);
+ iv_ruleselector=ruleselector();
+
+ state._fsp--;
+
+ current =iv_ruleselector;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleselector586);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+
+ myHiddenTokenState.restore();
+
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleselector"
+
+
+ // $ANTLR start "ruleselector"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:323:1: ruleselector returns [EObject current=null] : ( ( (lv_simpleselectors_0_0= rulesimple_selector ) ) ( ( ( (lv_combinator_1_0= rulecombinator ) ) ( (lv_selector_2_0= ruleselector ) ) ) | ( (this_WS_3= RULE_WS )+ ( ( (lv_combinator_4_0= rulecombinator ) )? ( (lv_selector_5_0= ruleselector ) ) )? ) )? ) ;
+ public final EObject ruleselector() throws RecognitionException {
+ EObject current = null;
+
+ Token this_WS_3=null;
+ EObject lv_simpleselectors_0_0 = null;
+
+ AntlrDatatypeRuleToken lv_combinator_1_0 = null;
+
+ EObject lv_selector_2_0 = null;
+
+ AntlrDatatypeRuleToken lv_combinator_4_0 = null;
+
+ EObject lv_selector_5_0 = null;
+
+
+ enterRule();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:327:28: ( ( ( (lv_simpleselectors_0_0= rulesimple_selector ) ) ( ( ( (lv_combinator_1_0= rulecombinator ) ) ( (lv_selector_2_0= ruleselector ) ) ) | ( (this_WS_3= RULE_WS )+ ( ( (lv_combinator_4_0= rulecombinator ) )? ( (lv_selector_5_0= ruleselector ) ) )? ) )? ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:328:1: ( ( (lv_simpleselectors_0_0= rulesimple_selector ) ) ( ( ( (lv_combinator_1_0= rulecombinator ) ) ( (lv_selector_2_0= ruleselector ) ) ) | ( (this_WS_3= RULE_WS )+ ( ( (lv_combinator_4_0= rulecombinator ) )? ( (lv_selector_5_0= ruleselector ) ) )? ) )? )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:328:1: ( ( (lv_simpleselectors_0_0= rulesimple_selector ) ) ( ( ( (lv_combinator_1_0= rulecombinator ) ) ( (lv_selector_2_0= ruleselector ) ) ) | ( (this_WS_3= RULE_WS )+ ( ( (lv_combinator_4_0= rulecombinator ) )? ( (lv_selector_5_0= ruleselector ) ) )? ) )? )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:328:2: ( (lv_simpleselectors_0_0= rulesimple_selector ) ) ( ( ( (lv_combinator_1_0= rulecombinator ) ) ( (lv_selector_2_0= ruleselector ) ) ) | ( (this_WS_3= RULE_WS )+ ( ( (lv_combinator_4_0= rulecombinator ) )? ( (lv_selector_5_0= ruleselector ) ) )? ) )?
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:328:2: ( (lv_simpleselectors_0_0= rulesimple_selector ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:329:1: (lv_simpleselectors_0_0= rulesimple_selector )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:329:1: (lv_simpleselectors_0_0= rulesimple_selector )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:330:3: lv_simpleselectors_0_0= rulesimple_selector
+ {
+
+ newCompositeNode(grammarAccess.getSelectorAccess().getSimpleselectorsSimple_selectorParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_rulesimple_selector_in_ruleselector636);
+ lv_simpleselectors_0_0=rulesimple_selector();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSelectorRule());
+ }
+ set(
+ current,
+ "simpleselectors",
+ lv_simpleselectors_0_0,
+ "simple_selector");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:346:2: ( ( ( (lv_combinator_1_0= rulecombinator ) ) ( (lv_selector_2_0= ruleselector ) ) ) | ( (this_WS_3= RULE_WS )+ ( ( (lv_combinator_4_0= rulecombinator ) )? ( (lv_selector_5_0= ruleselector ) ) )? ) )?
+ int alt12=3;
+ int LA12_0 = input.LA(1);
+
+ if ( ((LA12_0>=44 && LA12_0<=45)) ) {
+ alt12=1;
+ }
+ else if ( (LA12_0==RULE_WS) ) {
+ alt12=2;
+ }
+ switch (alt12) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:346:3: ( ( (lv_combinator_1_0= rulecombinator ) ) ( (lv_selector_2_0= ruleselector ) ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:346:3: ( ( (lv_combinator_1_0= rulecombinator ) ) ( (lv_selector_2_0= ruleselector ) ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:346:4: ( (lv_combinator_1_0= rulecombinator ) ) ( (lv_selector_2_0= ruleselector ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:346:4: ( (lv_combinator_1_0= rulecombinator ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:347:1: (lv_combinator_1_0= rulecombinator )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:347:1: (lv_combinator_1_0= rulecombinator )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:348:3: lv_combinator_1_0= rulecombinator
+ {
+
+ newCompositeNode(grammarAccess.getSelectorAccess().getCombinatorCombinatorParserRuleCall_1_0_0_0());
+
+ pushFollow(FOLLOW_rulecombinator_in_ruleselector659);
+ lv_combinator_1_0=rulecombinator();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSelectorRule());
+ }
+ set(
+ current,
+ "combinator",
+ lv_combinator_1_0,
+ "combinator");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:364:2: ( (lv_selector_2_0= ruleselector ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:365:1: (lv_selector_2_0= ruleselector )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:365:1: (lv_selector_2_0= ruleselector )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:366:3: lv_selector_2_0= ruleselector
+ {
+
+ newCompositeNode(grammarAccess.getSelectorAccess().getSelectorSelectorParserRuleCall_1_0_1_0());
+
+ pushFollow(FOLLOW_ruleselector_in_ruleselector680);
+ lv_selector_2_0=ruleselector();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSelectorRule());
+ }
+ set(
+ current,
+ "selector",
+ lv_selector_2_0,
+ "selector");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:383:6: ( (this_WS_3= RULE_WS )+ ( ( (lv_combinator_4_0= rulecombinator ) )? ( (lv_selector_5_0= ruleselector ) ) )? )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:383:6: ( (this_WS_3= RULE_WS )+ ( ( (lv_combinator_4_0= rulecombinator ) )? ( (lv_selector_5_0= ruleselector ) ) )? )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:383:7: (this_WS_3= RULE_WS )+ ( ( (lv_combinator_4_0= rulecombinator ) )? ( (lv_selector_5_0= ruleselector ) ) )?
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:383:7: (this_WS_3= RULE_WS )+
+ int cnt9=0;
+ loop9:
+ do {
+ int alt9=2;
+ int LA9_0 = input.LA(1);
+
+ if ( (LA9_0==RULE_WS) ) {
+ alt9=1;
+ }
+
+
+ switch (alt9) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:383:8: this_WS_3= RULE_WS
+ {
+ this_WS_3=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleselector700);
+
+ newLeafNode(this_WS_3, grammarAccess.getSelectorAccess().getWSTerminalRuleCall_1_1_0());
+
+
+ }
+ break;
+
+ default :
+ if ( cnt9 >= 1 ) break loop9;
+ EarlyExitException eee =
+ new EarlyExitException(9, input);
+ throw eee;
+ }
+ cnt9++;
+ } while (true);
+
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:387:3: ( ( (lv_combinator_4_0= rulecombinator ) )? ( (lv_selector_5_0= ruleselector ) ) )?
+ int alt11=2;
+ int LA11_0 = input.LA(1);
+
+ if ( (LA11_0==RULE_IDENT||LA11_0==19||LA11_0==26||(LA11_0>=43 && LA11_0<=45)) ) {
+ alt11=1;
+ }
+ switch (alt11) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:387:4: ( (lv_combinator_4_0= rulecombinator ) )? ( (lv_selector_5_0= ruleselector ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:387:4: ( (lv_combinator_4_0= rulecombinator ) )?
+ int alt10=2;
+ int LA10_0 = input.LA(1);
+
+ if ( ((LA10_0>=44 && LA10_0<=45)) ) {
+ alt10=1;
+ }
+ switch (alt10) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:388:1: (lv_combinator_4_0= rulecombinator )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:388:1: (lv_combinator_4_0= rulecombinator )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:389:3: lv_combinator_4_0= rulecombinator
+ {
+
+ newCompositeNode(grammarAccess.getSelectorAccess().getCombinatorCombinatorParserRuleCall_1_1_1_0_0());
+
+ pushFollow(FOLLOW_rulecombinator_in_ruleselector723);
+ lv_combinator_4_0=rulecombinator();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSelectorRule());
+ }
+ set(
+ current,
+ "combinator",
+ lv_combinator_4_0,
+ "combinator");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:405:3: ( (lv_selector_5_0= ruleselector ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:406:1: (lv_selector_5_0= ruleselector )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:406:1: (lv_selector_5_0= ruleselector )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:407:3: lv_selector_5_0= ruleselector
+ {
+
+ newCompositeNode(grammarAccess.getSelectorAccess().getSelectorSelectorParserRuleCall_1_1_1_1_0());
+
+ pushFollow(FOLLOW_ruleselector_in_ruleselector745);
+ lv_selector_5_0=ruleselector();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSelectorRule());
+ }
+ set(
+ current,
+ "selector",
+ lv_selector_5_0,
+ "selector");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+
+ myHiddenTokenState.restore();
+
+ }
+ return current;
+ }
+ // $ANTLR end "ruleselector"
+
+
+ // $ANTLR start "entryRulesimple_selector"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:434:1: entryRulesimple_selector returns [EObject current=null] : iv_rulesimple_selector= rulesimple_selector EOF ;
+ public final EObject entryRulesimple_selector() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_rulesimple_selector = null;
+
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:435:2: (iv_rulesimple_selector= rulesimple_selector EOF )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:436:2: iv_rulesimple_selector= rulesimple_selector EOF
+ {
+ newCompositeNode(grammarAccess.getSimple_selectorRule());
+ pushFollow(FOLLOW_rulesimple_selector_in_entryRulesimple_selector790);
+ iv_rulesimple_selector=rulesimple_selector();
+
+ state._fsp--;
+
+ current =iv_rulesimple_selector;
+ match(input,EOF,FOLLOW_EOF_in_entryRulesimple_selector800);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRulesimple_selector"
+
+
+ // $ANTLR start "rulesimple_selector"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:443:1: rulesimple_selector returns [EObject current=null] : ( ( ( (lv_element_0_0= ruleelement_name ) ) ( (lv_id_1_0= rulecss_hash_class ) )* ( (lv_pseudo_2_0= rulepseudo ) )* ) | ( (lv_id_3_0= rulecss_hash_class ) )+ ) ;
+ public final EObject rulesimple_selector() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_element_0_0 = null;
+
+ EObject lv_id_1_0 = null;
+
+ EObject lv_pseudo_2_0 = null;
+
+ EObject lv_id_3_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:446:28: ( ( ( ( (lv_element_0_0= ruleelement_name ) ) ( (lv_id_1_0= rulecss_hash_class ) )* ( (lv_pseudo_2_0= rulepseudo ) )* ) | ( (lv_id_3_0= rulecss_hash_class ) )+ ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:447:1: ( ( ( (lv_element_0_0= ruleelement_name ) ) ( (lv_id_1_0= rulecss_hash_class ) )* ( (lv_pseudo_2_0= rulepseudo ) )* ) | ( (lv_id_3_0= rulecss_hash_class ) )+ )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:447:1: ( ( ( (lv_element_0_0= ruleelement_name ) ) ( (lv_id_1_0= rulecss_hash_class ) )* ( (lv_pseudo_2_0= rulepseudo ) )* ) | ( (lv_id_3_0= rulecss_hash_class ) )+ )
+ int alt16=2;
+ int LA16_0 = input.LA(1);
+
+ if ( (LA16_0==RULE_IDENT||LA16_0==19) ) {
+ alt16=1;
+ }
+ else if ( (LA16_0==26||LA16_0==43) ) {
+ alt16=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 16, 0, input);
+
+ throw nvae;
+ }
+ switch (alt16) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:447:2: ( ( (lv_element_0_0= ruleelement_name ) ) ( (lv_id_1_0= rulecss_hash_class ) )* ( (lv_pseudo_2_0= rulepseudo ) )* )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:447:2: ( ( (lv_element_0_0= ruleelement_name ) ) ( (lv_id_1_0= rulecss_hash_class ) )* ( (lv_pseudo_2_0= rulepseudo ) )* )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:447:3: ( (lv_element_0_0= ruleelement_name ) ) ( (lv_id_1_0= rulecss_hash_class ) )* ( (lv_pseudo_2_0= rulepseudo ) )*
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:447:3: ( (lv_element_0_0= ruleelement_name ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:448:1: (lv_element_0_0= ruleelement_name )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:448:1: (lv_element_0_0= ruleelement_name )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:449:3: lv_element_0_0= ruleelement_name
+ {
+
+ newCompositeNode(grammarAccess.getSimple_selectorAccess().getElementElement_nameParserRuleCall_0_0_0());
+
+ pushFollow(FOLLOW_ruleelement_name_in_rulesimple_selector847);
+ lv_element_0_0=ruleelement_name();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSimple_selectorRule());
+ }
+ set(
+ current,
+ "element",
+ lv_element_0_0,
+ "element_name");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:465:2: ( (lv_id_1_0= rulecss_hash_class ) )*
+ loop13:
+ do {
+ int alt13=2;
+ int LA13_0 = input.LA(1);
+
+ if ( (LA13_0==26||LA13_0==43) ) {
+ alt13=1;
+ }
+
+
+ switch (alt13) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:466:1: (lv_id_1_0= rulecss_hash_class )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:466:1: (lv_id_1_0= rulecss_hash_class )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:467:3: lv_id_1_0= rulecss_hash_class
+ {
+
+ newCompositeNode(grammarAccess.getSimple_selectorAccess().getIdCss_hash_classParserRuleCall_0_1_0());
+
+ pushFollow(FOLLOW_rulecss_hash_class_in_rulesimple_selector868);
+ lv_id_1_0=rulecss_hash_class();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSimple_selectorRule());
+ }
+ add(
+ current,
+ "id",
+ lv_id_1_0,
+ "css_hash_class");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop13;
+ }
+ } while (true);
+
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:483:3: ( (lv_pseudo_2_0= rulepseudo ) )*
+ loop14:
+ do {
+ int alt14=2;
+ int LA14_0 = input.LA(1);
+
+ if ( (LA14_0==RULE_IDENT||LA14_0==18) ) {
+ alt14=1;
+ }
+
+
+ switch (alt14) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:484:1: (lv_pseudo_2_0= rulepseudo )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:484:1: (lv_pseudo_2_0= rulepseudo )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:485:3: lv_pseudo_2_0= rulepseudo
+ {
+
+ newCompositeNode(grammarAccess.getSimple_selectorAccess().getPseudoPseudoParserRuleCall_0_2_0());
+
+ pushFollow(FOLLOW_rulepseudo_in_rulesimple_selector890);
+ lv_pseudo_2_0=rulepseudo();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSimple_selectorRule());
+ }
+ add(
+ current,
+ "pseudo",
+ lv_pseudo_2_0,
+ "pseudo");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop14;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:502:6: ( (lv_id_3_0= rulecss_hash_class ) )+
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:502:6: ( (lv_id_3_0= rulecss_hash_class ) )+
+ int cnt15=0;
+ loop15:
+ do {
+ int alt15=2;
+ int LA15_0 = input.LA(1);
+
+ if ( (LA15_0==26||LA15_0==43) ) {
+ alt15=1;
+ }
+
+
+ switch (alt15) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:503:1: (lv_id_3_0= rulecss_hash_class )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:503:1: (lv_id_3_0= rulecss_hash_class )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:504:3: lv_id_3_0= rulecss_hash_class
+ {
+
+ newCompositeNode(grammarAccess.getSimple_selectorAccess().getIdCss_hash_classParserRuleCall_1_0());
+
+ pushFollow(FOLLOW_rulecss_hash_class_in_rulesimple_selector919);
+ lv_id_3_0=rulecss_hash_class();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSimple_selectorRule());
+ }
+ add(
+ current,
+ "id",
+ lv_id_3_0,
+ "css_hash_class");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ if ( cnt15 >= 1 ) break loop15;
+ EarlyExitException eee =
+ new EarlyExitException(15, input);
+ throw eee;
+ }
+ cnt15++;
+ } while (true);
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "rulesimple_selector"
+
+
+ // $ANTLR start "entryRulepseudo"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:528:1: entryRulepseudo returns [EObject current=null] : iv_rulepseudo= rulepseudo EOF ;
+ public final EObject entryRulepseudo() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_rulepseudo = null;
+
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:529:2: (iv_rulepseudo= rulepseudo EOF )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:530:2: iv_rulepseudo= rulepseudo EOF
+ {
+ newCompositeNode(grammarAccess.getPseudoRule());
+ pushFollow(FOLLOW_rulepseudo_in_entryRulepseudo956);
+ iv_rulepseudo=rulepseudo();
+
+ state._fsp--;
+
+ current =iv_rulepseudo;
+ match(input,EOF,FOLLOW_EOF_in_entryRulepseudo966);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRulepseudo"
+
+
+ // $ANTLR start "rulepseudo"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:537:1: rulepseudo returns [EObject current=null] : ( (otherlv_0= ':' ( (lv_name_1_0= RULE_IDENT ) ) ) | ( ( (lv_function_2_0= rulefunction ) ) ( (lv_name_3_0= RULE_IDENT ) )? ) ) ;
+ public final EObject rulepseudo() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token lv_name_1_0=null;
+ Token lv_name_3_0=null;
+ EObject lv_function_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:540:28: ( ( (otherlv_0= ':' ( (lv_name_1_0= RULE_IDENT ) ) ) | ( ( (lv_function_2_0= rulefunction ) ) ( (lv_name_3_0= RULE_IDENT ) )? ) ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:541:1: ( (otherlv_0= ':' ( (lv_name_1_0= RULE_IDENT ) ) ) | ( ( (lv_function_2_0= rulefunction ) ) ( (lv_name_3_0= RULE_IDENT ) )? ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:541:1: ( (otherlv_0= ':' ( (lv_name_1_0= RULE_IDENT ) ) ) | ( ( (lv_function_2_0= rulefunction ) ) ( (lv_name_3_0= RULE_IDENT ) )? ) )
+ int alt18=2;
+ int LA18_0 = input.LA(1);
+
+ if ( (LA18_0==18) ) {
+ alt18=1;
+ }
+ else if ( (LA18_0==RULE_IDENT) ) {
+ alt18=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 18, 0, input);
+
+ throw nvae;
+ }
+ switch (alt18) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:541:2: (otherlv_0= ':' ( (lv_name_1_0= RULE_IDENT ) ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:541:2: (otherlv_0= ':' ( (lv_name_1_0= RULE_IDENT ) ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:541:4: otherlv_0= ':' ( (lv_name_1_0= RULE_IDENT ) )
+ {
+ otherlv_0=(Token)match(input,18,FOLLOW_18_in_rulepseudo1004);
+
+ newLeafNode(otherlv_0, grammarAccess.getPseudoAccess().getColonKeyword_0_0());
+
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:545:1: ( (lv_name_1_0= RULE_IDENT ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:546:1: (lv_name_1_0= RULE_IDENT )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:546:1: (lv_name_1_0= RULE_IDENT )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:547:3: lv_name_1_0= RULE_IDENT
+ {
+ lv_name_1_0=(Token)match(input,RULE_IDENT,FOLLOW_RULE_IDENT_in_rulepseudo1021);
+
+ newLeafNode(lv_name_1_0, grammarAccess.getPseudoAccess().getNameIdentTerminalRuleCall_0_1_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getPseudoRule());
+ }
+ setWithLastConsumed(
+ current,
+ "name",
+ lv_name_1_0,
+ "ident");
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:564:6: ( ( (lv_function_2_0= rulefunction ) ) ( (lv_name_3_0= RULE_IDENT ) )? )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:564:6: ( ( (lv_function_2_0= rulefunction ) ) ( (lv_name_3_0= RULE_IDENT ) )? )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:564:7: ( (lv_function_2_0= rulefunction ) ) ( (lv_name_3_0= RULE_IDENT ) )?
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:564:7: ( (lv_function_2_0= rulefunction ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:565:1: (lv_function_2_0= rulefunction )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:565:1: (lv_function_2_0= rulefunction )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:566:3: lv_function_2_0= rulefunction
+ {
+
+ newCompositeNode(grammarAccess.getPseudoAccess().getFunctionFunctionParserRuleCall_1_0_0());
+
+ pushFollow(FOLLOW_rulefunction_in_rulepseudo1055);
+ lv_function_2_0=rulefunction();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getPseudoRule());
+ }
+ set(
+ current,
+ "function",
+ lv_function_2_0,
+ "function");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:582:2: ( (lv_name_3_0= RULE_IDENT ) )?
+ int alt17=2;
+ int LA17_0 = input.LA(1);
+
+ if ( (LA17_0==RULE_IDENT) ) {
+ int LA17_1 = input.LA(2);
+
+ if ( (LA17_1==EOF||(LA17_1>=RULE_WS && LA17_1<=RULE_IDENT)||(LA17_1>=13 && LA17_1<=14)||LA17_1==18||(LA17_1>=44 && LA17_1<=45)) ) {
+ alt17=1;
+ }
+ }
+ switch (alt17) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:583:1: (lv_name_3_0= RULE_IDENT )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:583:1: (lv_name_3_0= RULE_IDENT )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:584:3: lv_name_3_0= RULE_IDENT
+ {
+ lv_name_3_0=(Token)match(input,RULE_IDENT,FOLLOW_RULE_IDENT_in_rulepseudo1072);
+
+ newLeafNode(lv_name_3_0, grammarAccess.getPseudoAccess().getNameIdentTerminalRuleCall_1_1_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getPseudoRule());
+ }
+ setWithLastConsumed(
+ current,
+ "name",
+ lv_name_3_0,
+ "ident");
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "rulepseudo"
+
+
+ // $ANTLR start "entryRuleelement_name"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:608:1: entryRuleelement_name returns [EObject current=null] : iv_ruleelement_name= ruleelement_name EOF ;
+ public final EObject entryRuleelement_name() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleelement_name = null;
+
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:609:2: (iv_ruleelement_name= ruleelement_name EOF )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:610:2: iv_ruleelement_name= ruleelement_name EOF
+ {
+ newCompositeNode(grammarAccess.getElement_nameRule());
+ pushFollow(FOLLOW_ruleelement_name_in_entryRuleelement_name1115);
+ iv_ruleelement_name=ruleelement_name();
+
+ state._fsp--;
+
+ current =iv_ruleelement_name;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleelement_name1125);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleelement_name"
+
+
+ // $ANTLR start "ruleelement_name"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:617:1: ruleelement_name returns [EObject current=null] : ( ( (lv_name_0_0= RULE_IDENT ) ) | ( (lv_name_1_0= '*' ) ) ) ;
+ public final EObject ruleelement_name() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_name_0_0=null;
+ Token lv_name_1_0=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:620:28: ( ( ( (lv_name_0_0= RULE_IDENT ) ) | ( (lv_name_1_0= '*' ) ) ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:621:1: ( ( (lv_name_0_0= RULE_IDENT ) ) | ( (lv_name_1_0= '*' ) ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:621:1: ( ( (lv_name_0_0= RULE_IDENT ) ) | ( (lv_name_1_0= '*' ) ) )
+ int alt19=2;
+ int LA19_0 = input.LA(1);
+
+ if ( (LA19_0==RULE_IDENT) ) {
+ alt19=1;
+ }
+ else if ( (LA19_0==19) ) {
+ alt19=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 19, 0, input);
+
+ throw nvae;
+ }
+ switch (alt19) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:621:2: ( (lv_name_0_0= RULE_IDENT ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:621:2: ( (lv_name_0_0= RULE_IDENT ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:622:1: (lv_name_0_0= RULE_IDENT )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:622:1: (lv_name_0_0= RULE_IDENT )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:623:3: lv_name_0_0= RULE_IDENT
+ {
+ lv_name_0_0=(Token)match(input,RULE_IDENT,FOLLOW_RULE_IDENT_in_ruleelement_name1167);
+
+ newLeafNode(lv_name_0_0, grammarAccess.getElement_nameAccess().getNameIdentTerminalRuleCall_0_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getElement_nameRule());
+ }
+ setWithLastConsumed(
+ current,
+ "name",
+ lv_name_0_0,
+ "ident");
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:640:6: ( (lv_name_1_0= '*' ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:640:6: ( (lv_name_1_0= '*' ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:641:1: (lv_name_1_0= '*' )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:641:1: (lv_name_1_0= '*' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:642:3: lv_name_1_0= '*'
+ {
+ lv_name_1_0=(Token)match(input,19,FOLLOW_19_in_ruleelement_name1196);
+
+ newLeafNode(lv_name_1_0, grammarAccess.getElement_nameAccess().getNameAsteriskKeyword_1_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getElement_nameRule());
+ }
+ setWithLastConsumed(current, "name", lv_name_1_0, "*");
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleelement_name"
+
+
+ // $ANTLR start "entryRuledeclaration"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:663:1: entryRuledeclaration returns [EObject current=null] : iv_ruledeclaration= ruledeclaration EOF ;
+ public final EObject entryRuledeclaration() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruledeclaration = null;
+
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:664:2: (iv_ruledeclaration= ruledeclaration EOF )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:665:2: iv_ruledeclaration= ruledeclaration EOF
+ {
+ newCompositeNode(grammarAccess.getDeclarationRule());
+ pushFollow(FOLLOW_ruledeclaration_in_entryRuledeclaration1245);
+ iv_ruledeclaration=ruledeclaration();
+
+ state._fsp--;
+
+ current =iv_ruledeclaration;
+ match(input,EOF,FOLLOW_EOF_in_entryRuledeclaration1255);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuledeclaration"
+
+
+ // $ANTLR start "ruledeclaration"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:672:1: ruledeclaration returns [EObject current=null] : ( ( (lv_property_0_0= RULE_IDENT ) ) otherlv_1= ':' ( (lv_expr_2_0= ruleexpr ) ) ( (lv_priority_3_0= '!important' ) )? ) ;
+ public final EObject ruledeclaration() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_property_0_0=null;
+ Token otherlv_1=null;
+ Token lv_priority_3_0=null;
+ EObject lv_expr_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:675:28: ( ( ( (lv_property_0_0= RULE_IDENT ) ) otherlv_1= ':' ( (lv_expr_2_0= ruleexpr ) ) ( (lv_priority_3_0= '!important' ) )? ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:676:1: ( ( (lv_property_0_0= RULE_IDENT ) ) otherlv_1= ':' ( (lv_expr_2_0= ruleexpr ) ) ( (lv_priority_3_0= '!important' ) )? )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:676:1: ( ( (lv_property_0_0= RULE_IDENT ) ) otherlv_1= ':' ( (lv_expr_2_0= ruleexpr ) ) ( (lv_priority_3_0= '!important' ) )? )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:676:2: ( (lv_property_0_0= RULE_IDENT ) ) otherlv_1= ':' ( (lv_expr_2_0= ruleexpr ) ) ( (lv_priority_3_0= '!important' ) )?
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:676:2: ( (lv_property_0_0= RULE_IDENT ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:677:1: (lv_property_0_0= RULE_IDENT )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:677:1: (lv_property_0_0= RULE_IDENT )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:678:3: lv_property_0_0= RULE_IDENT
+ {
+ lv_property_0_0=(Token)match(input,RULE_IDENT,FOLLOW_RULE_IDENT_in_ruledeclaration1297);
+
+ newLeafNode(lv_property_0_0, grammarAccess.getDeclarationAccess().getPropertyIdentTerminalRuleCall_0_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getDeclarationRule());
+ }
+ setWithLastConsumed(
+ current,
+ "property",
+ lv_property_0_0,
+ "ident");
+
+
+ }
+
+
+ }
+
+ otherlv_1=(Token)match(input,18,FOLLOW_18_in_ruledeclaration1314);
+
+ newLeafNode(otherlv_1, grammarAccess.getDeclarationAccess().getColonKeyword_1());
+
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:698:1: ( (lv_expr_2_0= ruleexpr ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:699:1: (lv_expr_2_0= ruleexpr )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:699:1: (lv_expr_2_0= ruleexpr )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:700:3: lv_expr_2_0= ruleexpr
+ {
+
+ newCompositeNode(grammarAccess.getDeclarationAccess().getExprExprParserRuleCall_2_0());
+
+ pushFollow(FOLLOW_ruleexpr_in_ruledeclaration1335);
+ lv_expr_2_0=ruleexpr();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getDeclarationRule());
+ }
+ set(
+ current,
+ "expr",
+ lv_expr_2_0,
+ "expr");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:716:2: ( (lv_priority_3_0= '!important' ) )?
+ int alt20=2;
+ int LA20_0 = input.LA(1);
+
+ if ( (LA20_0==20) ) {
+ alt20=1;
+ }
+ switch (alt20) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:717:1: (lv_priority_3_0= '!important' )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:717:1: (lv_priority_3_0= '!important' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:718:3: lv_priority_3_0= '!important'
+ {
+ lv_priority_3_0=(Token)match(input,20,FOLLOW_20_in_ruledeclaration1353);
+
+ newLeafNode(lv_priority_3_0, grammarAccess.getDeclarationAccess().getPriorityImportantKeyword_3_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getDeclarationRule());
+ }
+ setWithLastConsumed(current, "priority", lv_priority_3_0, "!important");
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruledeclaration"
+
+
+ // $ANTLR start "entryRuleexpr"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:739:1: entryRuleexpr returns [EObject current=null] : iv_ruleexpr= ruleexpr EOF ;
+ public final EObject entryRuleexpr() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleexpr = null;
+
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:740:2: (iv_ruleexpr= ruleexpr EOF )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:741:2: iv_ruleexpr= ruleexpr EOF
+ {
+ newCompositeNode(grammarAccess.getExprRule());
+ pushFollow(FOLLOW_ruleexpr_in_entryRuleexpr1403);
+ iv_ruleexpr=ruleexpr();
+
+ state._fsp--;
+
+ current =iv_ruleexpr;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleexpr1413);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleexpr"
+
+
+ // $ANTLR start "ruleexpr"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:748:1: ruleexpr returns [EObject current=null] : ( ( (lv_term_0_0= ruleterm ) ) ( ( ( (lv_operators_1_1= '/' | lv_operators_1_2= ',' ) ) )? ( (lv_term_2_0= ruleterm ) ) )* ) ;
+ public final EObject ruleexpr() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_operators_1_1=null;
+ Token lv_operators_1_2=null;
+ EObject lv_term_0_0 = null;
+
+ EObject lv_term_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:751:28: ( ( ( (lv_term_0_0= ruleterm ) ) ( ( ( (lv_operators_1_1= '/' | lv_operators_1_2= ',' ) ) )? ( (lv_term_2_0= ruleterm ) ) )* ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:752:1: ( ( (lv_term_0_0= ruleterm ) ) ( ( ( (lv_operators_1_1= '/' | lv_operators_1_2= ',' ) ) )? ( (lv_term_2_0= ruleterm ) ) )* )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:752:1: ( ( (lv_term_0_0= ruleterm ) ) ( ( ( (lv_operators_1_1= '/' | lv_operators_1_2= ',' ) ) )? ( (lv_term_2_0= ruleterm ) ) )* )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:752:2: ( (lv_term_0_0= ruleterm ) ) ( ( ( (lv_operators_1_1= '/' | lv_operators_1_2= ',' ) ) )? ( (lv_term_2_0= ruleterm ) ) )*
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:752:2: ( (lv_term_0_0= ruleterm ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:753:1: (lv_term_0_0= ruleterm )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:753:1: (lv_term_0_0= ruleterm )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:754:3: lv_term_0_0= ruleterm
+ {
+
+ newCompositeNode(grammarAccess.getExprAccess().getTermTermParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleterm_in_ruleexpr1459);
+ lv_term_0_0=ruleterm();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getExprRule());
+ }
+ add(
+ current,
+ "term",
+ lv_term_0_0,
+ "term");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:770:2: ( ( ( (lv_operators_1_1= '/' | lv_operators_1_2= ',' ) ) )? ( (lv_term_2_0= ruleterm ) ) )*
+ loop23:
+ do {
+ int alt23=2;
+ int LA23_0 = input.LA(1);
+
+ if ( (LA23_0==RULE_STRING||(LA23_0>=RULE_IDENT && LA23_0<=RULE_INT)||LA23_0==13||LA23_0==21||LA23_0==24||LA23_0==44||LA23_0==46) ) {
+ alt23=1;
+ }
+
+
+ switch (alt23) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:770:3: ( ( (lv_operators_1_1= '/' | lv_operators_1_2= ',' ) ) )? ( (lv_term_2_0= ruleterm ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:770:3: ( ( (lv_operators_1_1= '/' | lv_operators_1_2= ',' ) ) )?
+ int alt22=2;
+ int LA22_0 = input.LA(1);
+
+ if ( (LA22_0==13||LA22_0==21) ) {
+ alt22=1;
+ }
+ switch (alt22) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:771:1: ( (lv_operators_1_1= '/' | lv_operators_1_2= ',' ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:771:1: ( (lv_operators_1_1= '/' | lv_operators_1_2= ',' ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:772:1: (lv_operators_1_1= '/' | lv_operators_1_2= ',' )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:772:1: (lv_operators_1_1= '/' | lv_operators_1_2= ',' )
+ int alt21=2;
+ int LA21_0 = input.LA(1);
+
+ if ( (LA21_0==21) ) {
+ alt21=1;
+ }
+ else if ( (LA21_0==13) ) {
+ alt21=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 21, 0, input);
+
+ throw nvae;
+ }
+ switch (alt21) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:773:3: lv_operators_1_1= '/'
+ {
+ lv_operators_1_1=(Token)match(input,21,FOLLOW_21_in_ruleexpr1480);
+
+ newLeafNode(lv_operators_1_1, grammarAccess.getExprAccess().getOperatorsSolidusKeyword_1_0_0_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getExprRule());
+ }
+ addWithLastConsumed(current, "operators", lv_operators_1_1, null);
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:785:8: lv_operators_1_2= ','
+ {
+ lv_operators_1_2=(Token)match(input,13,FOLLOW_13_in_ruleexpr1509);
+
+ newLeafNode(lv_operators_1_2, grammarAccess.getExprAccess().getOperatorsCommaKeyword_1_0_0_1());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getExprRule());
+ }
+ addWithLastConsumed(current, "operators", lv_operators_1_2, null);
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:800:3: ( (lv_term_2_0= ruleterm ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:801:1: (lv_term_2_0= ruleterm )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:801:1: (lv_term_2_0= ruleterm )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:802:3: lv_term_2_0= ruleterm
+ {
+
+ newCompositeNode(grammarAccess.getExprAccess().getTermTermParserRuleCall_1_1_0());
+
+ pushFollow(FOLLOW_ruleterm_in_ruleexpr1547);
+ lv_term_2_0=ruleterm();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getExprRule());
+ }
+ add(
+ current,
+ "term",
+ lv_term_2_0,
+ "term");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop23;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleexpr"
+
+
+ // $ANTLR start "entryRuleterm"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:826: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.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:827:2: (iv_ruleterm= ruleterm EOF )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:828:2: iv_ruleterm= ruleterm EOF
+ {
+ newCompositeNode(grammarAccess.getTermRule());
+ pushFollow(FOLLOW_ruleterm_in_entryRuleterm1585);
+ iv_ruleterm=ruleterm();
+
+ state._fsp--;
+
+ current =iv_ruleterm;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleterm1595);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleterm"
+
+
+ // $ANTLR start "ruleterm"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:835:1: ruleterm returns [EObject current=null] : ( ( ( (lv_unary_0_0= ruleunary_operator ) )? ( (lv_number_1_0= ruleunary_numbers ) ) ) | ( (lv_name_2_0= RULE_STRING ) ) | ( (lv_id_3_0= RULE_IDENT ) ) | ( (lv_uri_4_0= ruleURI ) ) | ( (lv_color_5_0= RULE_HEXDIGITS ) ) | ( (lv_function_6_0= rulefunction ) ) ) ;
+ public final EObject ruleterm() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_name_2_0=null;
+ Token lv_id_3_0=null;
+ Token lv_color_5_0=null;
+ AntlrDatatypeRuleToken lv_unary_0_0 = null;
+
+ AntlrDatatypeRuleToken lv_number_1_0 = null;
+
+ EObject lv_uri_4_0 = null;
+
+ EObject lv_function_6_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:838:28: ( ( ( ( (lv_unary_0_0= ruleunary_operator ) )? ( (lv_number_1_0= ruleunary_numbers ) ) ) | ( (lv_name_2_0= RULE_STRING ) ) | ( (lv_id_3_0= RULE_IDENT ) ) | ( (lv_uri_4_0= ruleURI ) ) | ( (lv_color_5_0= RULE_HEXDIGITS ) ) | ( (lv_function_6_0= rulefunction ) ) ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:839:1: ( ( ( (lv_unary_0_0= ruleunary_operator ) )? ( (lv_number_1_0= ruleunary_numbers ) ) ) | ( (lv_name_2_0= RULE_STRING ) ) | ( (lv_id_3_0= RULE_IDENT ) ) | ( (lv_uri_4_0= ruleURI ) ) | ( (lv_color_5_0= RULE_HEXDIGITS ) ) | ( (lv_function_6_0= rulefunction ) ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:839:1: ( ( ( (lv_unary_0_0= ruleunary_operator ) )? ( (lv_number_1_0= ruleunary_numbers ) ) ) | ( (lv_name_2_0= RULE_STRING ) ) | ( (lv_id_3_0= RULE_IDENT ) ) | ( (lv_uri_4_0= ruleURI ) ) | ( (lv_color_5_0= RULE_HEXDIGITS ) ) | ( (lv_function_6_0= rulefunction ) ) )
+ int alt25=6;
+ switch ( input.LA(1) ) {
+ case RULE_INT:
+ case 44:
+ case 46:
+ {
+ alt25=1;
+ }
+ break;
+ case RULE_STRING:
+ {
+ alt25=2;
+ }
+ break;
+ case RULE_IDENT:
+ {
+ int LA25_3 = input.LA(2);
+
+ if ( (LA25_3==22) ) {
+ alt25=6;
+ }
+ else if ( (LA25_3==EOF||LA25_3==RULE_STRING||(LA25_3>=RULE_IDENT && LA25_3<=RULE_INT)||LA25_3==13||(LA25_3>=15 && LA25_3<=16)||(LA25_3>=20 && LA25_3<=21)||(LA25_3>=23 && LA25_3<=24)||LA25_3==44||LA25_3==46) ) {
+ alt25=3;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 25, 3, input);
+
+ throw nvae;
+ }
+ }
+ break;
+ case 24:
+ {
+ alt25=4;
+ }
+ break;
+ case RULE_HEXDIGITS:
+ {
+ alt25=5;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("", 25, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt25) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:839:2: ( ( (lv_unary_0_0= ruleunary_operator ) )? ( (lv_number_1_0= ruleunary_numbers ) ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:839:2: ( ( (lv_unary_0_0= ruleunary_operator ) )? ( (lv_number_1_0= ruleunary_numbers ) ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:839:3: ( (lv_unary_0_0= ruleunary_operator ) )? ( (lv_number_1_0= ruleunary_numbers ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:839:3: ( (lv_unary_0_0= ruleunary_operator ) )?
+ int alt24=2;
+ int LA24_0 = input.LA(1);
+
+ if ( (LA24_0==44||LA24_0==46) ) {
+ alt24=1;
+ }
+ switch (alt24) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:840:1: (lv_unary_0_0= ruleunary_operator )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:840:1: (lv_unary_0_0= ruleunary_operator )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:841:3: lv_unary_0_0= ruleunary_operator
+ {
+
+ newCompositeNode(grammarAccess.getTermAccess().getUnaryUnary_operatorParserRuleCall_0_0_0());
+
+ pushFollow(FOLLOW_ruleunary_operator_in_ruleterm1642);
+ lv_unary_0_0=ruleunary_operator();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTermRule());
+ }
+ set(
+ current,
+ "unary",
+ lv_unary_0_0,
+ "unary_operator");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:857:3: ( (lv_number_1_0= ruleunary_numbers ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:858:1: (lv_number_1_0= ruleunary_numbers )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:858:1: (lv_number_1_0= ruleunary_numbers )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:859:3: lv_number_1_0= ruleunary_numbers
+ {
+
+ newCompositeNode(grammarAccess.getTermAccess().getNumberUnary_numbersParserRuleCall_0_1_0());
+
+ pushFollow(FOLLOW_ruleunary_numbers_in_ruleterm1664);
+ lv_number_1_0=ruleunary_numbers();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTermRule());
+ }
+ set(
+ current,
+ "number",
+ lv_number_1_0,
+ "unary_numbers");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:876:6: ( (lv_name_2_0= RULE_STRING ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:876:6: ( (lv_name_2_0= RULE_STRING ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:877:1: (lv_name_2_0= RULE_STRING )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:877:1: (lv_name_2_0= RULE_STRING )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:878:3: lv_name_2_0= RULE_STRING
+ {
+ lv_name_2_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleterm1688);
+
+ newLeafNode(lv_name_2_0, grammarAccess.getTermAccess().getNameSTRINGTerminalRuleCall_1_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getTermRule());
+ }
+ setWithLastConsumed(
+ current,
+ "name",
+ lv_name_2_0,
+ "STRING");
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:895:6: ( (lv_id_3_0= RULE_IDENT ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:895:6: ( (lv_id_3_0= RULE_IDENT ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:896:1: (lv_id_3_0= RULE_IDENT )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:896:1: (lv_id_3_0= RULE_IDENT )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:897:3: lv_id_3_0= RULE_IDENT
+ {
+ lv_id_3_0=(Token)match(input,RULE_IDENT,FOLLOW_RULE_IDENT_in_ruleterm1716);
+
+ newLeafNode(lv_id_3_0, grammarAccess.getTermAccess().getIdIdentTerminalRuleCall_2_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getTermRule());
+ }
+ setWithLastConsumed(
+ current,
+ "id",
+ lv_id_3_0,
+ "ident");
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:914:6: ( (lv_uri_4_0= ruleURI ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:914:6: ( (lv_uri_4_0= ruleURI ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:915:1: (lv_uri_4_0= ruleURI )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:915:1: (lv_uri_4_0= ruleURI )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:916:3: lv_uri_4_0= ruleURI
+ {
+
+ newCompositeNode(grammarAccess.getTermAccess().getUriURIParserRuleCall_3_0());
+
+ pushFollow(FOLLOW_ruleURI_in_ruleterm1748);
+ lv_uri_4_0=ruleURI();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTermRule());
+ }
+ set(
+ current,
+ "uri",
+ lv_uri_4_0,
+ "URI");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 5 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:933:6: ( (lv_color_5_0= RULE_HEXDIGITS ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:933:6: ( (lv_color_5_0= RULE_HEXDIGITS ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:934:1: (lv_color_5_0= RULE_HEXDIGITS )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:934:1: (lv_color_5_0= RULE_HEXDIGITS )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:935:3: lv_color_5_0= RULE_HEXDIGITS
+ {
+ lv_color_5_0=(Token)match(input,RULE_HEXDIGITS,FOLLOW_RULE_HEXDIGITS_in_ruleterm1771);
+
+ newLeafNode(lv_color_5_0, grammarAccess.getTermAccess().getColorHexdigitsTerminalRuleCall_4_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getTermRule());
+ }
+ setWithLastConsumed(
+ current,
+ "color",
+ lv_color_5_0,
+ "hexdigits");
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 6 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:952:6: ( (lv_function_6_0= rulefunction ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:952:6: ( (lv_function_6_0= rulefunction ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:953:1: (lv_function_6_0= rulefunction )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:953:1: (lv_function_6_0= rulefunction )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:954:3: lv_function_6_0= rulefunction
+ {
+
+ newCompositeNode(grammarAccess.getTermAccess().getFunctionFunctionParserRuleCall_5_0());
+
+ pushFollow(FOLLOW_rulefunction_in_ruleterm1803);
+ lv_function_6_0=rulefunction();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTermRule());
+ }
+ set(
+ current,
+ "function",
+ lv_function_6_0,
+ "function");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleterm"
+
+
+ // $ANTLR start "entryRulefunction"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:978: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.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:979:2: (iv_rulefunction= rulefunction EOF )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:980:2: iv_rulefunction= rulefunction EOF
+ {
+ newCompositeNode(grammarAccess.getFunctionRule());
+ pushFollow(FOLLOW_rulefunction_in_entryRulefunction1839);
+ iv_rulefunction=rulefunction();
+
+ state._fsp--;
+
+ current =iv_rulefunction;
+ match(input,EOF,FOLLOW_EOF_in_entryRulefunction1849);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRulefunction"
+
+
+ // $ANTLR start "rulefunction"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:987:1: rulefunction returns [EObject current=null] : ( ( (lv_name_0_0= RULE_IDENT ) ) otherlv_1= '(' ( (lv_expr_2_0= ruleexpr ) ) otherlv_3= ')' ) ;
+ public final EObject rulefunction() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_name_0_0=null;
+ Token otherlv_1=null;
+ Token otherlv_3=null;
+ EObject lv_expr_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:990:28: ( ( ( (lv_name_0_0= RULE_IDENT ) ) otherlv_1= '(' ( (lv_expr_2_0= ruleexpr ) ) otherlv_3= ')' ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:991:1: ( ( (lv_name_0_0= RULE_IDENT ) ) otherlv_1= '(' ( (lv_expr_2_0= ruleexpr ) ) otherlv_3= ')' )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:991:1: ( ( (lv_name_0_0= RULE_IDENT ) ) otherlv_1= '(' ( (lv_expr_2_0= ruleexpr ) ) otherlv_3= ')' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:991:2: ( (lv_name_0_0= RULE_IDENT ) ) otherlv_1= '(' ( (lv_expr_2_0= ruleexpr ) ) otherlv_3= ')'
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:991:2: ( (lv_name_0_0= RULE_IDENT ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:992:1: (lv_name_0_0= RULE_IDENT )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:992:1: (lv_name_0_0= RULE_IDENT )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:993:3: lv_name_0_0= RULE_IDENT
+ {
+ lv_name_0_0=(Token)match(input,RULE_IDENT,FOLLOW_RULE_IDENT_in_rulefunction1891);
+
+ newLeafNode(lv_name_0_0, grammarAccess.getFunctionAccess().getNameIdentTerminalRuleCall_0_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getFunctionRule());
+ }
+ setWithLastConsumed(
+ current,
+ "name",
+ lv_name_0_0,
+ "ident");
+
+
+ }
+
+
+ }
+
+ otherlv_1=(Token)match(input,22,FOLLOW_22_in_rulefunction1908);
+
+ newLeafNode(otherlv_1, grammarAccess.getFunctionAccess().getLeftParenthesisKeyword_1());
+
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1013:1: ( (lv_expr_2_0= ruleexpr ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1014:1: (lv_expr_2_0= ruleexpr )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1014:1: (lv_expr_2_0= ruleexpr )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1015:3: lv_expr_2_0= ruleexpr
+ {
+
+ newCompositeNode(grammarAccess.getFunctionAccess().getExprExprParserRuleCall_2_0());
+
+ pushFollow(FOLLOW_ruleexpr_in_rulefunction1929);
+ lv_expr_2_0=ruleexpr();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getFunctionRule());
+ }
+ set(
+ current,
+ "expr",
+ lv_expr_2_0,
+ "expr");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ otherlv_3=(Token)match(input,23,FOLLOW_23_in_rulefunction1941);
+
+ newLeafNode(otherlv_3, grammarAccess.getFunctionAccess().getRightParenthesisKeyword_3());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "rulefunction"
+
+
+ // $ANTLR start "entryRuleURI"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1043:1: entryRuleURI returns [EObject current=null] : iv_ruleURI= ruleURI EOF ;
+ public final EObject entryRuleURI() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleURI = null;
+
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1044:2: (iv_ruleURI= ruleURI EOF )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1045:2: iv_ruleURI= ruleURI EOF
+ {
+ newCompositeNode(grammarAccess.getURIRule());
+ pushFollow(FOLLOW_ruleURI_in_entryRuleURI1977);
+ iv_ruleURI=ruleURI();
+
+ state._fsp--;
+
+ current =iv_ruleURI;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleURI1987);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleURI"
+
+
+ // $ANTLR start "ruleURI"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1052:1: ruleURI returns [EObject current=null] : (otherlv_0= 'url' otherlv_1= '(' () ( ( (lv_name_3_0= RULE_STRING ) ) | ( (otherlv_4= '\\\\' | otherlv_5= '/' ) ( (lv_id_6_0= RULE_IDENT ) ) ) )* (otherlv_7= '.' ( (lv_id_8_0= RULE_IDENT ) ) )? otherlv_9= ')' ) ;
+ public final EObject ruleURI() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token otherlv_1=null;
+ Token lv_name_3_0=null;
+ Token otherlv_4=null;
+ Token otherlv_5=null;
+ Token lv_id_6_0=null;
+ Token otherlv_7=null;
+ Token lv_id_8_0=null;
+ Token otherlv_9=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1055:28: ( (otherlv_0= 'url' otherlv_1= '(' () ( ( (lv_name_3_0= RULE_STRING ) ) | ( (otherlv_4= '\\\\' | otherlv_5= '/' ) ( (lv_id_6_0= RULE_IDENT ) ) ) )* (otherlv_7= '.' ( (lv_id_8_0= RULE_IDENT ) ) )? otherlv_9= ')' ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1056:1: (otherlv_0= 'url' otherlv_1= '(' () ( ( (lv_name_3_0= RULE_STRING ) ) | ( (otherlv_4= '\\\\' | otherlv_5= '/' ) ( (lv_id_6_0= RULE_IDENT ) ) ) )* (otherlv_7= '.' ( (lv_id_8_0= RULE_IDENT ) ) )? otherlv_9= ')' )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1056:1: (otherlv_0= 'url' otherlv_1= '(' () ( ( (lv_name_3_0= RULE_STRING ) ) | ( (otherlv_4= '\\\\' | otherlv_5= '/' ) ( (lv_id_6_0= RULE_IDENT ) ) ) )* (otherlv_7= '.' ( (lv_id_8_0= RULE_IDENT ) ) )? otherlv_9= ')' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1056:3: otherlv_0= 'url' otherlv_1= '(' () ( ( (lv_name_3_0= RULE_STRING ) ) | ( (otherlv_4= '\\\\' | otherlv_5= '/' ) ( (lv_id_6_0= RULE_IDENT ) ) ) )* (otherlv_7= '.' ( (lv_id_8_0= RULE_IDENT ) ) )? otherlv_9= ')'
+ {
+ otherlv_0=(Token)match(input,24,FOLLOW_24_in_ruleURI2024);
+
+ newLeafNode(otherlv_0, grammarAccess.getURIAccess().getUrlKeyword_0());
+
+ otherlv_1=(Token)match(input,22,FOLLOW_22_in_ruleURI2036);
+
+ newLeafNode(otherlv_1, grammarAccess.getURIAccess().getLeftParenthesisKeyword_1());
+
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1064:1: ()
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1065:5:
+ {
+
+ current = forceCreateModelElement(
+ grammarAccess.getURIAccess().getURIAction_2(),
+ current);
+
+
+ }
+
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1070:2: ( ( (lv_name_3_0= RULE_STRING ) ) | ( (otherlv_4= '\\\\' | otherlv_5= '/' ) ( (lv_id_6_0= RULE_IDENT ) ) ) )*
+ loop27:
+ do {
+ int alt27=3;
+ int LA27_0 = input.LA(1);
+
+ if ( (LA27_0==RULE_STRING) ) {
+ alt27=1;
+ }
+ else if ( (LA27_0==21||LA27_0==25) ) {
+ alt27=2;
+ }
+
+
+ switch (alt27) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1070:3: ( (lv_name_3_0= RULE_STRING ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1070:3: ( (lv_name_3_0= RULE_STRING ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1071:1: (lv_name_3_0= RULE_STRING )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1071:1: (lv_name_3_0= RULE_STRING )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1072:3: lv_name_3_0= RULE_STRING
+ {
+ lv_name_3_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleURI2063);
+
+ newLeafNode(lv_name_3_0, grammarAccess.getURIAccess().getNameSTRINGTerminalRuleCall_3_0_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getURIRule());
+ }
+ addWithLastConsumed(
+ current,
+ "name",
+ lv_name_3_0,
+ "STRING");
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1089:6: ( (otherlv_4= '\\\\' | otherlv_5= '/' ) ( (lv_id_6_0= RULE_IDENT ) ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1089:6: ( (otherlv_4= '\\\\' | otherlv_5= '/' ) ( (lv_id_6_0= RULE_IDENT ) ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1089:7: (otherlv_4= '\\\\' | otherlv_5= '/' ) ( (lv_id_6_0= RULE_IDENT ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1089:7: (otherlv_4= '\\\\' | otherlv_5= '/' )
+ int alt26=2;
+ int LA26_0 = input.LA(1);
+
+ if ( (LA26_0==25) ) {
+ alt26=1;
+ }
+ else if ( (LA26_0==21) ) {
+ alt26=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 26, 0, input);
+
+ throw nvae;
+ }
+ switch (alt26) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1089:9: otherlv_4= '\\\\'
+ {
+ otherlv_4=(Token)match(input,25,FOLLOW_25_in_ruleURI2088);
+
+ newLeafNode(otherlv_4, grammarAccess.getURIAccess().getReverseSolidusKeyword_3_1_0_0());
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1094:7: otherlv_5= '/'
+ {
+ otherlv_5=(Token)match(input,21,FOLLOW_21_in_ruleURI2106);
+
+ newLeafNode(otherlv_5, grammarAccess.getURIAccess().getSolidusKeyword_3_1_0_1());
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1098:2: ( (lv_id_6_0= RULE_IDENT ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1099:1: (lv_id_6_0= RULE_IDENT )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1099:1: (lv_id_6_0= RULE_IDENT )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1100:3: lv_id_6_0= RULE_IDENT
+ {
+ lv_id_6_0=(Token)match(input,RULE_IDENT,FOLLOW_RULE_IDENT_in_ruleURI2124);
+
+ newLeafNode(lv_id_6_0, grammarAccess.getURIAccess().getIdIdentTerminalRuleCall_3_1_1_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getURIRule());
+ }
+ addWithLastConsumed(
+ current,
+ "id",
+ lv_id_6_0,
+ "ident");
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop27;
+ }
+ } while (true);
+
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1116:5: (otherlv_7= '.' ( (lv_id_8_0= RULE_IDENT ) ) )?
+ int alt28=2;
+ int LA28_0 = input.LA(1);
+
+ if ( (LA28_0==26) ) {
+ alt28=1;
+ }
+ switch (alt28) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1116:7: otherlv_7= '.' ( (lv_id_8_0= RULE_IDENT ) )
+ {
+ otherlv_7=(Token)match(input,26,FOLLOW_26_in_ruleURI2145);
+
+ newLeafNode(otherlv_7, grammarAccess.getURIAccess().getFullStopKeyword_4_0());
+
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1120:1: ( (lv_id_8_0= RULE_IDENT ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1121:1: (lv_id_8_0= RULE_IDENT )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1121:1: (lv_id_8_0= RULE_IDENT )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1122:3: lv_id_8_0= RULE_IDENT
+ {
+ lv_id_8_0=(Token)match(input,RULE_IDENT,FOLLOW_RULE_IDENT_in_ruleURI2162);
+
+ newLeafNode(lv_id_8_0, grammarAccess.getURIAccess().getIdIdentTerminalRuleCall_4_1_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getURIRule());
+ }
+ addWithLastConsumed(
+ current,
+ "id",
+ lv_id_8_0,
+ "ident");
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ otherlv_9=(Token)match(input,23,FOLLOW_23_in_ruleURI2181);
+
+ newLeafNode(otherlv_9, grammarAccess.getURIAccess().getRightParenthesisKeyword_5());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleURI"
+
+
+ // $ANTLR start "entryRuleunary_numbers"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1150:1: entryRuleunary_numbers returns [String current=null] : iv_ruleunary_numbers= ruleunary_numbers EOF ;
+ public final String entryRuleunary_numbers() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleunary_numbers = null;
+
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1151:2: (iv_ruleunary_numbers= ruleunary_numbers EOF )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1152:2: iv_ruleunary_numbers= ruleunary_numbers EOF
+ {
+ newCompositeNode(grammarAccess.getUnary_numbersRule());
+ pushFollow(FOLLOW_ruleunary_numbers_in_entryRuleunary_numbers2218);
+ iv_ruleunary_numbers=ruleunary_numbers();
+
+ state._fsp--;
+
+ current =iv_ruleunary_numbers.getText();
+ match(input,EOF,FOLLOW_EOF_in_entryRuleunary_numbers2229);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleunary_numbers"
+
+
+ // $ANTLR start "ruleunary_numbers"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1159:1: ruleunary_numbers returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT | this_PERCENTAGE_1= rulePERCENTAGE | this_LENGTH_2= ruleLENGTH | this_EMS_3= ruleEMS | this_EXS_4= ruleEXS | this_ANGLE_5= ruleANGLE | this_TIME_6= ruleTIME | this_FREQ_7= ruleFREQ ) ;
+ public final AntlrDatatypeRuleToken ruleunary_numbers() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token this_INT_0=null;
+ AntlrDatatypeRuleToken this_PERCENTAGE_1 = null;
+
+ AntlrDatatypeRuleToken this_LENGTH_2 = null;
+
+ AntlrDatatypeRuleToken this_EMS_3 = null;
+
+ AntlrDatatypeRuleToken this_EXS_4 = null;
+
+ AntlrDatatypeRuleToken this_ANGLE_5 = null;
+
+ AntlrDatatypeRuleToken this_TIME_6 = null;
+
+ AntlrDatatypeRuleToken this_FREQ_7 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1162:28: ( (this_INT_0= RULE_INT | this_PERCENTAGE_1= rulePERCENTAGE | this_LENGTH_2= ruleLENGTH | this_EMS_3= ruleEMS | this_EXS_4= ruleEXS | this_ANGLE_5= ruleANGLE | this_TIME_6= ruleTIME | this_FREQ_7= ruleFREQ ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1163:1: (this_INT_0= RULE_INT | this_PERCENTAGE_1= rulePERCENTAGE | this_LENGTH_2= ruleLENGTH | this_EMS_3= ruleEMS | this_EXS_4= ruleEXS | this_ANGLE_5= ruleANGLE | this_TIME_6= ruleTIME | this_FREQ_7= ruleFREQ )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1163:1: (this_INT_0= RULE_INT | this_PERCENTAGE_1= rulePERCENTAGE | this_LENGTH_2= ruleLENGTH | this_EMS_3= ruleEMS | this_EXS_4= ruleEXS | this_ANGLE_5= ruleANGLE | this_TIME_6= ruleTIME | this_FREQ_7= ruleFREQ )
+ int alt29=8;
+ alt29 = dfa29.predict(input);
+ switch (alt29) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1163:6: this_INT_0= RULE_INT
+ {
+ this_INT_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleunary_numbers2269);
+
+ current.merge(this_INT_0);
+
+
+ newLeafNode(this_INT_0, grammarAccess.getUnary_numbersAccess().getINTTerminalRuleCall_0());
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1172:5: this_PERCENTAGE_1= rulePERCENTAGE
+ {
+
+ newCompositeNode(grammarAccess.getUnary_numbersAccess().getPERCENTAGEParserRuleCall_1());
+
+ pushFollow(FOLLOW_rulePERCENTAGE_in_ruleunary_numbers2302);
+ this_PERCENTAGE_1=rulePERCENTAGE();
+
+ state._fsp--;
+
+
+ current.merge(this_PERCENTAGE_1);
+
+
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1184:5: this_LENGTH_2= ruleLENGTH
+ {
+
+ newCompositeNode(grammarAccess.getUnary_numbersAccess().getLENGTHParserRuleCall_2());
+
+ pushFollow(FOLLOW_ruleLENGTH_in_ruleunary_numbers2335);
+ this_LENGTH_2=ruleLENGTH();
+
+ state._fsp--;
+
+
+ current.merge(this_LENGTH_2);
+
+
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1196:5: this_EMS_3= ruleEMS
+ {
+
+ newCompositeNode(grammarAccess.getUnary_numbersAccess().getEMSParserRuleCall_3());
+
+ pushFollow(FOLLOW_ruleEMS_in_ruleunary_numbers2368);
+ this_EMS_3=ruleEMS();
+
+ state._fsp--;
+
+
+ current.merge(this_EMS_3);
+
+
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 5 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1208:5: this_EXS_4= ruleEXS
+ {
+
+ newCompositeNode(grammarAccess.getUnary_numbersAccess().getEXSParserRuleCall_4());
+
+ pushFollow(FOLLOW_ruleEXS_in_ruleunary_numbers2401);
+ this_EXS_4=ruleEXS();
+
+ state._fsp--;
+
+
+ current.merge(this_EXS_4);
+
+
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 6 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1220:5: this_ANGLE_5= ruleANGLE
+ {
+
+ newCompositeNode(grammarAccess.getUnary_numbersAccess().getANGLEParserRuleCall_5());
+
+ pushFollow(FOLLOW_ruleANGLE_in_ruleunary_numbers2434);
+ this_ANGLE_5=ruleANGLE();
+
+ state._fsp--;
+
+
+ current.merge(this_ANGLE_5);
+
+
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 7 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1232:5: this_TIME_6= ruleTIME
+ {
+
+ newCompositeNode(grammarAccess.getUnary_numbersAccess().getTIMEParserRuleCall_6());
+
+ pushFollow(FOLLOW_ruleTIME_in_ruleunary_numbers2467);
+ this_TIME_6=ruleTIME();
+
+ state._fsp--;
+
+
+ current.merge(this_TIME_6);
+
+
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 8 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1244:5: this_FREQ_7= ruleFREQ
+ {
+
+ newCompositeNode(grammarAccess.getUnary_numbersAccess().getFREQParserRuleCall_7());
+
+ pushFollow(FOLLOW_ruleFREQ_in_ruleunary_numbers2500);
+ this_FREQ_7=ruleFREQ();
+
+ state._fsp--;
+
+
+ current.merge(this_FREQ_7);
+
+
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleunary_numbers"
+
+
+ // $ANTLR start "entryRulePERCENTAGE"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1262:1: entryRulePERCENTAGE returns [String current=null] : iv_rulePERCENTAGE= rulePERCENTAGE EOF ;
+ public final String entryRulePERCENTAGE() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_rulePERCENTAGE = null;
+
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1263:2: (iv_rulePERCENTAGE= rulePERCENTAGE EOF )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1264:2: iv_rulePERCENTAGE= rulePERCENTAGE EOF
+ {
+ newCompositeNode(grammarAccess.getPERCENTAGERule());
+ pushFollow(FOLLOW_rulePERCENTAGE_in_entryRulePERCENTAGE2546);
+ iv_rulePERCENTAGE=rulePERCENTAGE();
+
+ state._fsp--;
+
+ current =iv_rulePERCENTAGE.getText();
+ match(input,EOF,FOLLOW_EOF_in_entryRulePERCENTAGE2557);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRulePERCENTAGE"
+
+
+ // $ANTLR start "rulePERCENTAGE"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1271:1: rulePERCENTAGE returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT kw= '%' ) ;
+ public final AntlrDatatypeRuleToken rulePERCENTAGE() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token this_INT_0=null;
+ Token kw=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1274:28: ( (this_INT_0= RULE_INT kw= '%' ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1275:1: (this_INT_0= RULE_INT kw= '%' )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1275:1: (this_INT_0= RULE_INT kw= '%' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1275:6: this_INT_0= RULE_INT kw= '%'
+ {
+ this_INT_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_rulePERCENTAGE2597);
+
+ current.merge(this_INT_0);
+
+
+ newLeafNode(this_INT_0, grammarAccess.getPERCENTAGEAccess().getINTTerminalRuleCall_0());
+
+ kw=(Token)match(input,27,FOLLOW_27_in_rulePERCENTAGE2615);
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getPERCENTAGEAccess().getPercentSignKeyword_1());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "rulePERCENTAGE"
+
+
+ // $ANTLR start "entryRuleEMS"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1296:1: entryRuleEMS returns [String current=null] : iv_ruleEMS= ruleEMS EOF ;
+ public final String entryRuleEMS() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleEMS = null;
+
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1297:2: (iv_ruleEMS= ruleEMS EOF )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1298:2: iv_ruleEMS= ruleEMS EOF
+ {
+ newCompositeNode(grammarAccess.getEMSRule());
+ pushFollow(FOLLOW_ruleEMS_in_entryRuleEMS2656);
+ iv_ruleEMS=ruleEMS();
+
+ state._fsp--;
+
+ current =iv_ruleEMS.getText();
+ match(input,EOF,FOLLOW_EOF_in_entryRuleEMS2667);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleEMS"
+
+
+ // $ANTLR start "ruleEMS"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1305:1: ruleEMS returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT kw= 'em' ) ;
+ public final AntlrDatatypeRuleToken ruleEMS() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token this_INT_0=null;
+ Token kw=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1308:28: ( (this_INT_0= RULE_INT kw= 'em' ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1309:1: (this_INT_0= RULE_INT kw= 'em' )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1309:1: (this_INT_0= RULE_INT kw= 'em' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1309:6: this_INT_0= RULE_INT kw= 'em'
+ {
+ this_INT_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleEMS2707);
+
+ current.merge(this_INT_0);
+
+
+ newLeafNode(this_INT_0, grammarAccess.getEMSAccess().getINTTerminalRuleCall_0());
+
+ kw=(Token)match(input,28,FOLLOW_28_in_ruleEMS2725);
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEMSAccess().getEmKeyword_1());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleEMS"
+
+
+ // $ANTLR start "entryRuleEXS"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1330:1: entryRuleEXS returns [String current=null] : iv_ruleEXS= ruleEXS EOF ;
+ public final String entryRuleEXS() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleEXS = null;
+
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1331:2: (iv_ruleEXS= ruleEXS EOF )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1332:2: iv_ruleEXS= ruleEXS EOF
+ {
+ newCompositeNode(grammarAccess.getEXSRule());
+ pushFollow(FOLLOW_ruleEXS_in_entryRuleEXS2766);
+ iv_ruleEXS=ruleEXS();
+
+ state._fsp--;
+
+ current =iv_ruleEXS.getText();
+ match(input,EOF,FOLLOW_EOF_in_entryRuleEXS2777);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleEXS"
+
+
+ // $ANTLR start "ruleEXS"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1339:1: ruleEXS returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT kw= 'ex' ) ;
+ public final AntlrDatatypeRuleToken ruleEXS() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token this_INT_0=null;
+ Token kw=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1342:28: ( (this_INT_0= RULE_INT kw= 'ex' ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1343:1: (this_INT_0= RULE_INT kw= 'ex' )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1343:1: (this_INT_0= RULE_INT kw= 'ex' )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1343:6: this_INT_0= RULE_INT kw= 'ex'
+ {
+ this_INT_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleEXS2817);
+
+ current.merge(this_INT_0);
+
+
+ newLeafNode(this_INT_0, grammarAccess.getEXSAccess().getINTTerminalRuleCall_0());
+
+ kw=(Token)match(input,29,FOLLOW_29_in_ruleEXS2835);
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getEXSAccess().getExKeyword_1());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleEXS"
+
+
+ // $ANTLR start "entryRuleLENGTH"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1364:1: entryRuleLENGTH returns [String current=null] : iv_ruleLENGTH= ruleLENGTH EOF ;
+ public final String entryRuleLENGTH() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleLENGTH = null;
+
+
+
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1368:2: (iv_ruleLENGTH= ruleLENGTH EOF )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1369:2: iv_ruleLENGTH= ruleLENGTH EOF
+ {
+ newCompositeNode(grammarAccess.getLENGTHRule());
+ pushFollow(FOLLOW_ruleLENGTH_in_entryRuleLENGTH2882);
+ iv_ruleLENGTH=ruleLENGTH();
+
+ state._fsp--;
+
+ current =iv_ruleLENGTH.getText();
+ match(input,EOF,FOLLOW_EOF_in_entryRuleLENGTH2893);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+
+ myHiddenTokenState.restore();
+
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleLENGTH"
+
+
+ // $ANTLR start "ruleLENGTH"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1379:1: ruleLENGTH returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT (kw= 'px' | kw= 'cm' | kw= 'mm' | kw= 'in' | kw= 'pt' | kw= 'pc' ) ) ;
+ public final AntlrDatatypeRuleToken ruleLENGTH() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token this_INT_0=null;
+ Token kw=null;
+
+ enterRule();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1383:28: ( (this_INT_0= RULE_INT (kw= 'px' | kw= 'cm' | kw= 'mm' | kw= 'in' | kw= 'pt' | kw= 'pc' ) ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1384:1: (this_INT_0= RULE_INT (kw= 'px' | kw= 'cm' | kw= 'mm' | kw= 'in' | kw= 'pt' | kw= 'pc' ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1384:1: (this_INT_0= RULE_INT (kw= 'px' | kw= 'cm' | kw= 'mm' | kw= 'in' | kw= 'pt' | kw= 'pc' ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1384:6: this_INT_0= RULE_INT (kw= 'px' | kw= 'cm' | kw= 'mm' | kw= 'in' | kw= 'pt' | kw= 'pc' )
+ {
+ this_INT_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleLENGTH2937);
+
+ current.merge(this_INT_0);
+
+
+ newLeafNode(this_INT_0, grammarAccess.getLENGTHAccess().getINTTerminalRuleCall_0());
+
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1391:1: (kw= 'px' | kw= 'cm' | kw= 'mm' | kw= 'in' | kw= 'pt' | kw= 'pc' )
+ int alt30=6;
+ switch ( input.LA(1) ) {
+ case 30:
+ {
+ alt30=1;
+ }
+ break;
+ case 31:
+ {
+ alt30=2;
+ }
+ break;
+ case 32:
+ {
+ alt30=3;
+ }
+ break;
+ case 33:
+ {
+ alt30=4;
+ }
+ break;
+ case 34:
+ {
+ alt30=5;
+ }
+ break;
+ case 35:
+ {
+ alt30=6;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("", 30, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt30) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1392:2: kw= 'px'
+ {
+ kw=(Token)match(input,30,FOLLOW_30_in_ruleLENGTH2956);
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getLENGTHAccess().getPxKeyword_1_0());
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1399:2: kw= 'cm'
+ {
+ kw=(Token)match(input,31,FOLLOW_31_in_ruleLENGTH2975);
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getLENGTHAccess().getCmKeyword_1_1());
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1406:2: kw= 'mm'
+ {
+ kw=(Token)match(input,32,FOLLOW_32_in_ruleLENGTH2994);
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getLENGTHAccess().getMmKeyword_1_2());
+
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1413:2: kw= 'in'
+ {
+ kw=(Token)match(input,33,FOLLOW_33_in_ruleLENGTH3013);
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getLENGTHAccess().getInKeyword_1_3());
+
+
+ }
+ break;
+ case 5 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1420:2: kw= 'pt'
+ {
+ kw=(Token)match(input,34,FOLLOW_34_in_ruleLENGTH3032);
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getLENGTHAccess().getPtKeyword_1_4());
+
+
+ }
+ break;
+ case 6 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1427:2: kw= 'pc'
+ {
+ kw=(Token)match(input,35,FOLLOW_35_in_ruleLENGTH3051);
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getLENGTHAccess().getPcKeyword_1_5());
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+
+ myHiddenTokenState.restore();
+
+ }
+ return current;
+ }
+ // $ANTLR end "ruleLENGTH"
+
+
+ // $ANTLR start "entryRuleANGLE"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1443:1: entryRuleANGLE returns [String current=null] : iv_ruleANGLE= ruleANGLE EOF ;
+ public final String entryRuleANGLE() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleANGLE = null;
+
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1444:2: (iv_ruleANGLE= ruleANGLE EOF )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1445:2: iv_ruleANGLE= ruleANGLE EOF
+ {
+ newCompositeNode(grammarAccess.getANGLERule());
+ pushFollow(FOLLOW_ruleANGLE_in_entryRuleANGLE3097);
+ iv_ruleANGLE=ruleANGLE();
+
+ state._fsp--;
+
+ current =iv_ruleANGLE.getText();
+ match(input,EOF,FOLLOW_EOF_in_entryRuleANGLE3108);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleANGLE"
+
+
+ // $ANTLR start "ruleANGLE"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1452:1: ruleANGLE returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT (kw= 'deg' | kw= 'rad' | kw= 'grad' ) ) ;
+ public final AntlrDatatypeRuleToken ruleANGLE() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token this_INT_0=null;
+ Token kw=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1455:28: ( (this_INT_0= RULE_INT (kw= 'deg' | kw= 'rad' | kw= 'grad' ) ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1456:1: (this_INT_0= RULE_INT (kw= 'deg' | kw= 'rad' | kw= 'grad' ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1456:1: (this_INT_0= RULE_INT (kw= 'deg' | kw= 'rad' | kw= 'grad' ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1456:6: this_INT_0= RULE_INT (kw= 'deg' | kw= 'rad' | kw= 'grad' )
+ {
+ this_INT_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleANGLE3148);
+
+ current.merge(this_INT_0);
+
+
+ newLeafNode(this_INT_0, grammarAccess.getANGLEAccess().getINTTerminalRuleCall_0());
+
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1463:1: (kw= 'deg' | kw= 'rad' | kw= 'grad' )
+ int alt31=3;
+ switch ( input.LA(1) ) {
+ case 36:
+ {
+ alt31=1;
+ }
+ break;
+ case 37:
+ {
+ alt31=2;
+ }
+ break;
+ case 38:
+ {
+ alt31=3;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("", 31, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt31) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1464:2: kw= 'deg'
+ {
+ kw=(Token)match(input,36,FOLLOW_36_in_ruleANGLE3167);
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getANGLEAccess().getDegKeyword_1_0());
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1471:2: kw= 'rad'
+ {
+ kw=(Token)match(input,37,FOLLOW_37_in_ruleANGLE3186);
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getANGLEAccess().getRadKeyword_1_1());
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1478:2: kw= 'grad'
+ {
+ kw=(Token)match(input,38,FOLLOW_38_in_ruleANGLE3205);
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getANGLEAccess().getGradKeyword_1_2());
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleANGLE"
+
+
+ // $ANTLR start "entryRuleTIME"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1491:1: entryRuleTIME returns [String current=null] : iv_ruleTIME= ruleTIME EOF ;
+ public final String entryRuleTIME() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleTIME = null;
+
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1492:2: (iv_ruleTIME= ruleTIME EOF )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1493:2: iv_ruleTIME= ruleTIME EOF
+ {
+ newCompositeNode(grammarAccess.getTIMERule());
+ pushFollow(FOLLOW_ruleTIME_in_entryRuleTIME3247);
+ iv_ruleTIME=ruleTIME();
+
+ state._fsp--;
+
+ current =iv_ruleTIME.getText();
+ match(input,EOF,FOLLOW_EOF_in_entryRuleTIME3258);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleTIME"
+
+
+ // $ANTLR start "ruleTIME"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1500:1: ruleTIME returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT (kw= 'ms' | kw= 's' ) ) ;
+ public final AntlrDatatypeRuleToken ruleTIME() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token this_INT_0=null;
+ Token kw=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1503:28: ( (this_INT_0= RULE_INT (kw= 'ms' | kw= 's' ) ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1504:1: (this_INT_0= RULE_INT (kw= 'ms' | kw= 's' ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1504:1: (this_INT_0= RULE_INT (kw= 'ms' | kw= 's' ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1504:6: this_INT_0= RULE_INT (kw= 'ms' | kw= 's' )
+ {
+ this_INT_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleTIME3298);
+
+ current.merge(this_INT_0);
+
+
+ newLeafNode(this_INT_0, grammarAccess.getTIMEAccess().getINTTerminalRuleCall_0());
+
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1511:1: (kw= 'ms' | kw= 's' )
+ int alt32=2;
+ int LA32_0 = input.LA(1);
+
+ if ( (LA32_0==39) ) {
+ alt32=1;
+ }
+ else if ( (LA32_0==40) ) {
+ alt32=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 32, 0, input);
+
+ throw nvae;
+ }
+ switch (alt32) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1512:2: kw= 'ms'
+ {
+ kw=(Token)match(input,39,FOLLOW_39_in_ruleTIME3317);
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getTIMEAccess().getMsKeyword_1_0());
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1519:2: kw= 's'
+ {
+ kw=(Token)match(input,40,FOLLOW_40_in_ruleTIME3336);
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getTIMEAccess().getSKeyword_1_1());
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleTIME"
+
+
+ // $ANTLR start "entryRuleFREQ"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1532:1: entryRuleFREQ returns [String current=null] : iv_ruleFREQ= ruleFREQ EOF ;
+ public final String entryRuleFREQ() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleFREQ = null;
+
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1533:2: (iv_ruleFREQ= ruleFREQ EOF )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1534:2: iv_ruleFREQ= ruleFREQ EOF
+ {
+ newCompositeNode(grammarAccess.getFREQRule());
+ pushFollow(FOLLOW_ruleFREQ_in_entryRuleFREQ3378);
+ iv_ruleFREQ=ruleFREQ();
+
+ state._fsp--;
+
+ current =iv_ruleFREQ.getText();
+ match(input,EOF,FOLLOW_EOF_in_entryRuleFREQ3389);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleFREQ"
+
+
+ // $ANTLR start "ruleFREQ"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1541:1: ruleFREQ returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_INT_0= RULE_INT (kw= 'hz' | kw= 'khz' ) ) ;
+ public final AntlrDatatypeRuleToken ruleFREQ() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token this_INT_0=null;
+ Token kw=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1544:28: ( (this_INT_0= RULE_INT (kw= 'hz' | kw= 'khz' ) ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1545:1: (this_INT_0= RULE_INT (kw= 'hz' | kw= 'khz' ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1545:1: (this_INT_0= RULE_INT (kw= 'hz' | kw= 'khz' ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1545:6: this_INT_0= RULE_INT (kw= 'hz' | kw= 'khz' )
+ {
+ this_INT_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleFREQ3429);
+
+ current.merge(this_INT_0);
+
+
+ newLeafNode(this_INT_0, grammarAccess.getFREQAccess().getINTTerminalRuleCall_0());
+
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1552:1: (kw= 'hz' | kw= 'khz' )
+ int alt33=2;
+ int LA33_0 = input.LA(1);
+
+ if ( (LA33_0==41) ) {
+ alt33=1;
+ }
+ else if ( (LA33_0==42) ) {
+ alt33=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 33, 0, input);
+
+ throw nvae;
+ }
+ switch (alt33) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1553:2: kw= 'hz'
+ {
+ kw=(Token)match(input,41,FOLLOW_41_in_ruleFREQ3448);
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getFREQAccess().getHzKeyword_1_0());
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1560:2: kw= 'khz'
+ {
+ kw=(Token)match(input,42,FOLLOW_42_in_ruleFREQ3467);
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getFREQAccess().getKhzKeyword_1_1());
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleFREQ"
+
+
+ // $ANTLR start "entryRulecss_hash_class"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1573:1: entryRulecss_hash_class returns [EObject current=null] : iv_rulecss_hash_class= rulecss_hash_class EOF ;
+ public final EObject entryRulecss_hash_class() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_rulecss_hash_class = null;
+
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1574:2: (iv_rulecss_hash_class= rulecss_hash_class EOF )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1575:2: iv_rulecss_hash_class= rulecss_hash_class EOF
+ {
+ newCompositeNode(grammarAccess.getCss_hash_classRule());
+ pushFollow(FOLLOW_rulecss_hash_class_in_entryRulecss_hash_class3508);
+ iv_rulecss_hash_class=rulecss_hash_class();
+
+ state._fsp--;
+
+ current =iv_rulecss_hash_class;
+ match(input,EOF,FOLLOW_EOF_in_entryRulecss_hash_class3518);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRulecss_hash_class"
+
+
+ // $ANTLR start "rulecss_hash_class"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1582:1: rulecss_hash_class returns [EObject current=null] : ( ( ( (lv_type_0_1= '#' | lv_type_0_2= '.' ) ) ) ( (lv_name_1_0= RULE_IDENT ) ) ) ;
+ public final EObject rulecss_hash_class() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_type_0_1=null;
+ Token lv_type_0_2=null;
+ Token lv_name_1_0=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1585:28: ( ( ( ( (lv_type_0_1= '#' | lv_type_0_2= '.' ) ) ) ( (lv_name_1_0= RULE_IDENT ) ) ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1586:1: ( ( ( (lv_type_0_1= '#' | lv_type_0_2= '.' ) ) ) ( (lv_name_1_0= RULE_IDENT ) ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1586:1: ( ( ( (lv_type_0_1= '#' | lv_type_0_2= '.' ) ) ) ( (lv_name_1_0= RULE_IDENT ) ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1586:2: ( ( (lv_type_0_1= '#' | lv_type_0_2= '.' ) ) ) ( (lv_name_1_0= RULE_IDENT ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1586:2: ( ( (lv_type_0_1= '#' | lv_type_0_2= '.' ) ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1587:1: ( (lv_type_0_1= '#' | lv_type_0_2= '.' ) )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1587:1: ( (lv_type_0_1= '#' | lv_type_0_2= '.' ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1588:1: (lv_type_0_1= '#' | lv_type_0_2= '.' )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1588:1: (lv_type_0_1= '#' | lv_type_0_2= '.' )
+ int alt34=2;
+ int LA34_0 = input.LA(1);
+
+ if ( (LA34_0==43) ) {
+ alt34=1;
+ }
+ else if ( (LA34_0==26) ) {
+ alt34=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 34, 0, input);
+
+ throw nvae;
+ }
+ switch (alt34) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1589:3: lv_type_0_1= '#'
+ {
+ lv_type_0_1=(Token)match(input,43,FOLLOW_43_in_rulecss_hash_class3563);
+
+ newLeafNode(lv_type_0_1, grammarAccess.getCss_hash_classAccess().getTypeNumberSignKeyword_0_0_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getCss_hash_classRule());
+ }
+ setWithLastConsumed(current, "type", lv_type_0_1, null);
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1601:8: lv_type_0_2= '.'
+ {
+ lv_type_0_2=(Token)match(input,26,FOLLOW_26_in_rulecss_hash_class3592);
+
+ newLeafNode(lv_type_0_2, grammarAccess.getCss_hash_classAccess().getTypeFullStopKeyword_0_0_1());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getCss_hash_classRule());
+ }
+ setWithLastConsumed(current, "type", lv_type_0_2, null);
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1616:2: ( (lv_name_1_0= RULE_IDENT ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1617:1: (lv_name_1_0= RULE_IDENT )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1617:1: (lv_name_1_0= RULE_IDENT )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1618:3: lv_name_1_0= RULE_IDENT
+ {
+ lv_name_1_0=(Token)match(input,RULE_IDENT,FOLLOW_RULE_IDENT_in_rulecss_hash_class3625);
+
+ newLeafNode(lv_name_1_0, grammarAccess.getCss_hash_classAccess().getNameIdentTerminalRuleCall_1_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getCss_hash_classRule());
+ }
+ setWithLastConsumed(
+ current,
+ "name",
+ lv_name_1_0,
+ "ident");
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "rulecss_hash_class"
+
+
+ // $ANTLR start "entryRulecombinator"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1642:1: entryRulecombinator returns [String current=null] : iv_rulecombinator= rulecombinator EOF ;
+ public final String entryRulecombinator() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_rulecombinator = null;
+
+
+
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens("RULE_WS");
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1646:2: (iv_rulecombinator= rulecombinator EOF )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1647:2: iv_rulecombinator= rulecombinator EOF
+ {
+ newCompositeNode(grammarAccess.getCombinatorRule());
+ pushFollow(FOLLOW_rulecombinator_in_entryRulecombinator3673);
+ iv_rulecombinator=rulecombinator();
+
+ state._fsp--;
+
+ current =iv_rulecombinator.getText();
+ match(input,EOF,FOLLOW_EOF_in_entryRulecombinator3684);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+
+ myHiddenTokenState.restore();
+
+ }
+ return current;
+ }
+ // $ANTLR end "entryRulecombinator"
+
+
+ // $ANTLR start "rulecombinator"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1657:1: rulecombinator returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '+' | kw= '>' ) ;
+ public final AntlrDatatypeRuleToken rulecombinator() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token kw=null;
+
+ enterRule();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens("RULE_WS");
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1661:28: ( (kw= '+' | kw= '>' ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1662:1: (kw= '+' | kw= '>' )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1662:1: (kw= '+' | kw= '>' )
+ int alt35=2;
+ int LA35_0 = input.LA(1);
+
+ if ( (LA35_0==44) ) {
+ alt35=1;
+ }
+ else if ( (LA35_0==45) ) {
+ alt35=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 35, 0, input);
+
+ throw nvae;
+ }
+ switch (alt35) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1663:2: kw= '+'
+ {
+ kw=(Token)match(input,44,FOLLOW_44_in_rulecombinator3726);
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getCombinatorAccess().getPlusSignKeyword_0());
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1670:2: kw= '>'
+ {
+ kw=(Token)match(input,45,FOLLOW_45_in_rulecombinator3745);
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getCombinatorAccess().getGreaterThanSignKeyword_1());
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+
+ myHiddenTokenState.restore();
+
+ }
+ return current;
+ }
+ // $ANTLR end "rulecombinator"
+
+
+ // $ANTLR start "entryRuleunary_operator"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1686:1: entryRuleunary_operator returns [String current=null] : iv_ruleunary_operator= ruleunary_operator EOF ;
+ public final String entryRuleunary_operator() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleunary_operator = null;
+
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1687:2: (iv_ruleunary_operator= ruleunary_operator EOF )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1688:2: iv_ruleunary_operator= ruleunary_operator EOF
+ {
+ newCompositeNode(grammarAccess.getUnary_operatorRule());
+ pushFollow(FOLLOW_ruleunary_operator_in_entryRuleunary_operator3790);
+ iv_ruleunary_operator=ruleunary_operator();
+
+ state._fsp--;
+
+ current =iv_ruleunary_operator.getText();
+ match(input,EOF,FOLLOW_EOF_in_entryRuleunary_operator3801);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleunary_operator"
+
+
+ // $ANTLR start "ruleunary_operator"
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1695:1: ruleunary_operator returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '-' | kw= '+' ) ;
+ public final AntlrDatatypeRuleToken ruleunary_operator() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token kw=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1698:28: ( (kw= '-' | kw= '+' ) )
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1699:1: (kw= '-' | kw= '+' )
+ {
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1699:1: (kw= '-' | kw= '+' )
+ int alt36=2;
+ int LA36_0 = input.LA(1);
+
+ if ( (LA36_0==46) ) {
+ alt36=1;
+ }
+ else if ( (LA36_0==44) ) {
+ alt36=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 36, 0, input);
+
+ throw nvae;
+ }
+ switch (alt36) {
+ case 1 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1700:2: kw= '-'
+ {
+ kw=(Token)match(input,46,FOLLOW_46_in_ruleunary_operator3839);
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getUnary_operatorAccess().getHyphenMinusKeyword_0());
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/parser/antlr/internal/InternalCSS.g:1707:2: kw= '+'
+ {
+ kw=(Token)match(input,44,FOLLOW_44_in_ruleunary_operator3858);
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getUnary_operatorAccess().getPlusSignKeyword_1());
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleunary_operator"
+
+ // Delegated rules
+
+
+ protected DFA29 dfa29 = new DFA29(this);
+ static final String DFA29_eotS =
+ "\12\uffff";
+ static final String DFA29_eofS =
+ "\1\uffff\1\7\10\uffff";
+ static final String DFA29_minS =
+ "\1\10\1\4\10\uffff";
+ static final String DFA29_maxS =
+ "\1\10\1\56\10\uffff";
+ static final String DFA29_acceptS =
+ "\2\uffff\1\5\1\10\1\7\1\3\1\4\1\1\1\6\1\2";
+ static final String DFA29_specialS =
+ "\12\uffff}>";
+ static final String[] DFA29_transitionS = {
+ "\1\1",
+ "\1\7\1\uffff\3\7\4\uffff\1\7\1\uffff\2\7\3\uffff\2\7\1\uffff"+
+ "\2\7\2\uffff\1\11\1\6\1\2\6\5\3\10\2\4\2\3\1\uffff\1\7\1\uffff"+
+ "\1\7",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ ""
+ };
+
+ static final short[] DFA29_eot = DFA.unpackEncodedString(DFA29_eotS);
+ static final short[] DFA29_eof = DFA.unpackEncodedString(DFA29_eofS);
+ static final char[] DFA29_min = DFA.unpackEncodedStringToUnsignedChars(DFA29_minS);
+ static final char[] DFA29_max = DFA.unpackEncodedStringToUnsignedChars(DFA29_maxS);
+ static final short[] DFA29_accept = DFA.unpackEncodedString(DFA29_acceptS);
+ static final short[] DFA29_special = DFA.unpackEncodedString(DFA29_specialS);
+ static final short[][] DFA29_transition;
+
+ static {
+ int numStates = DFA29_transitionS.length;
+ DFA29_transition = new short[numStates][];
+ for (int i=0; i<numStates; i++) {
+ DFA29_transition[i] = DFA.unpackEncodedString(DFA29_transitionS[i]);
+ }
+ }
+
+ class DFA29 extends DFA {
+
+ public DFA29(BaseRecognizer recognizer) {
+ this.recognizer = recognizer;
+ this.decisionNumber = 29;
+ this.eot = DFA29_eot;
+ this.eof = DFA29_eof;
+ this.min = DFA29_min;
+ this.max = DFA29_max;
+ this.accept = DFA29_accept;
+ this.special = DFA29_special;
+ this.transition = DFA29_transition;
+ }
+ public String getDescription() {
+ return "1163:1: (this_INT_0= RULE_INT | this_PERCENTAGE_1= rulePERCENTAGE | this_LENGTH_2= ruleLENGTH | this_EMS_3= ruleEMS | this_EXS_4= ruleEXS | this_ANGLE_5= ruleANGLE | this_TIME_6= ruleTIME | this_FREQ_7= ruleFREQ )";
+ }
+ }
+
+
+ public static final BitSet FOLLOW_rulestylesheet_in_entryRulestylesheet75 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulestylesheet85 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_STRING_in_rulestylesheet127 = new BitSet(new long[]{0x00000800040A0042L});
+ public static final BitSet FOLLOW_rulecss_import_in_rulestylesheet154 = new BitSet(new long[]{0x00000800040A0042L});
+ public static final BitSet FOLLOW_ruleRules_in_rulestylesheet176 = new BitSet(new long[]{0x0000080004080042L});
+ public static final BitSet FOLLOW_ruleRules_in_entryRuleRules213 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleRules223 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleselector_in_ruleRules269 = new BitSet(new long[]{0x0000000000006000L});
+ public static final BitSet FOLLOW_13_in_ruleRules282 = new BitSet(new long[]{0x0000080004080040L});
+ public static final BitSet FOLLOW_ruleselector_in_ruleRules303 = new BitSet(new long[]{0x0000000000006000L});
+ public static final BitSet FOLLOW_14_in_ruleRules317 = new BitSet(new long[]{0x0000000000018040L});
+ public static final BitSet FOLLOW_ruledeclaration_in_ruleRules338 = new BitSet(new long[]{0x0000000000018000L});
+ public static final BitSet FOLLOW_15_in_ruleRules352 = new BitSet(new long[]{0x0000000000018040L});
+ public static final BitSet FOLLOW_ruledeclaration_in_ruleRules373 = new BitSet(new long[]{0x0000000000018000L});
+ public static final BitSet FOLLOW_16_in_ruleRules388 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulecss_import_in_entryRulecss_import424 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulecss_import434 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_17_in_rulecss_import471 = new BitSet(new long[]{0x0000000001000010L});
+ public static final BitSet FOLLOW_RULE_STRING_in_rulecss_import489 = new BitSet(new long[]{0x0000000000008000L});
+ public static final BitSet FOLLOW_ruleURI_in_rulecss_import522 = new BitSet(new long[]{0x0000000000008000L});
+ public static final BitSet FOLLOW_15_in_rulecss_import534 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleselector_in_entryRuleselector576 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleselector586 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulesimple_selector_in_ruleselector636 = new BitSet(new long[]{0x0000300000000022L});
+ public static final BitSet FOLLOW_rulecombinator_in_ruleselector659 = new BitSet(new long[]{0x0000080004080040L});
+ public static final BitSet FOLLOW_ruleselector_in_ruleselector680 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleselector700 = new BitSet(new long[]{0x0000380004080062L});
+ public static final BitSet FOLLOW_rulecombinator_in_ruleselector723 = new BitSet(new long[]{0x0000080004080040L});
+ public static final BitSet FOLLOW_ruleselector_in_ruleselector745 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulesimple_selector_in_entryRulesimple_selector790 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulesimple_selector800 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleelement_name_in_rulesimple_selector847 = new BitSet(new long[]{0x00000800040C0042L});
+ public static final BitSet FOLLOW_rulecss_hash_class_in_rulesimple_selector868 = new BitSet(new long[]{0x00000800040C0042L});
+ public static final BitSet FOLLOW_rulepseudo_in_rulesimple_selector890 = new BitSet(new long[]{0x0000000000040042L});
+ public static final BitSet FOLLOW_rulecss_hash_class_in_rulesimple_selector919 = new BitSet(new long[]{0x0000080004080042L});
+ public static final BitSet FOLLOW_rulepseudo_in_entryRulepseudo956 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulepseudo966 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_18_in_rulepseudo1004 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_RULE_IDENT_in_rulepseudo1021 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulefunction_in_rulepseudo1055 = new BitSet(new long[]{0x0000000000000042L});
+ public static final BitSet FOLLOW_RULE_IDENT_in_rulepseudo1072 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleelement_name_in_entryRuleelement_name1115 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleelement_name1125 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_IDENT_in_ruleelement_name1167 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_19_in_ruleelement_name1196 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruledeclaration_in_entryRuledeclaration1245 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuledeclaration1255 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_IDENT_in_ruledeclaration1297 = new BitSet(new long[]{0x0000000000040000L});
+ public static final BitSet FOLLOW_18_in_ruledeclaration1314 = new BitSet(new long[]{0x00005000010401D0L});
+ public static final BitSet FOLLOW_ruleexpr_in_ruledeclaration1335 = new BitSet(new long[]{0x0000000000100002L});
+ public static final BitSet FOLLOW_20_in_ruledeclaration1353 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleexpr_in_entryRuleexpr1403 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleexpr1413 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleterm_in_ruleexpr1459 = new BitSet(new long[]{0x00005000012421D2L});
+ public static final BitSet FOLLOW_21_in_ruleexpr1480 = new BitSet(new long[]{0x00005000010401D0L});
+ public static final BitSet FOLLOW_13_in_ruleexpr1509 = new BitSet(new long[]{0x00005000010401D0L});
+ public static final BitSet FOLLOW_ruleterm_in_ruleexpr1547 = new BitSet(new long[]{0x00005000012421D2L});
+ public static final BitSet FOLLOW_ruleterm_in_entryRuleterm1585 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleterm1595 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleunary_operator_in_ruleterm1642 = new BitSet(new long[]{0x0000500000000100L});
+ public static final BitSet FOLLOW_ruleunary_numbers_in_ruleterm1664 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_STRING_in_ruleterm1688 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_IDENT_in_ruleterm1716 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleURI_in_ruleterm1748 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_HEXDIGITS_in_ruleterm1771 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulefunction_in_ruleterm1803 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulefunction_in_entryRulefunction1839 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulefunction1849 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_IDENT_in_rulefunction1891 = new BitSet(new long[]{0x0000000000400000L});
+ public static final BitSet FOLLOW_22_in_rulefunction1908 = new BitSet(new long[]{0x00005000010401D0L});
+ public static final BitSet FOLLOW_ruleexpr_in_rulefunction1929 = new BitSet(new long[]{0x0000000000800000L});
+ public static final BitSet FOLLOW_23_in_rulefunction1941 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleURI_in_entryRuleURI1977 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleURI1987 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_24_in_ruleURI2024 = new BitSet(new long[]{0x0000000000400000L});
+ public static final BitSet FOLLOW_22_in_ruleURI2036 = new BitSet(new long[]{0x0000000006A00010L});
+ public static final BitSet FOLLOW_RULE_STRING_in_ruleURI2063 = new BitSet(new long[]{0x0000000006A00010L});
+ public static final BitSet FOLLOW_25_in_ruleURI2088 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_21_in_ruleURI2106 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_RULE_IDENT_in_ruleURI2124 = new BitSet(new long[]{0x0000000006A00010L});
+ public static final BitSet FOLLOW_26_in_ruleURI2145 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_RULE_IDENT_in_ruleURI2162 = new BitSet(new long[]{0x0000000000800000L});
+ public static final BitSet FOLLOW_23_in_ruleURI2181 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleunary_numbers_in_entryRuleunary_numbers2218 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleunary_numbers2229 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_INT_in_ruleunary_numbers2269 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePERCENTAGE_in_ruleunary_numbers2302 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleLENGTH_in_ruleunary_numbers2335 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleEMS_in_ruleunary_numbers2368 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleEXS_in_ruleunary_numbers2401 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleANGLE_in_ruleunary_numbers2434 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTIME_in_ruleunary_numbers2467 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleFREQ_in_ruleunary_numbers2500 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePERCENTAGE_in_entryRulePERCENTAGE2546 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulePERCENTAGE2557 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_INT_in_rulePERCENTAGE2597 = new BitSet(new long[]{0x0000000008000000L});
+ public static final BitSet FOLLOW_27_in_rulePERCENTAGE2615 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleEMS_in_entryRuleEMS2656 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleEMS2667 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_INT_in_ruleEMS2707 = new BitSet(new long[]{0x0000000010000000L});
+ public static final BitSet FOLLOW_28_in_ruleEMS2725 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleEXS_in_entryRuleEXS2766 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleEXS2777 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_INT_in_ruleEXS2817 = new BitSet(new long[]{0x0000000020000000L});
+ public static final BitSet FOLLOW_29_in_ruleEXS2835 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleLENGTH_in_entryRuleLENGTH2882 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleLENGTH2893 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_INT_in_ruleLENGTH2937 = new BitSet(new long[]{0x0000000FC0000000L});
+ public static final BitSet FOLLOW_30_in_ruleLENGTH2956 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_31_in_ruleLENGTH2975 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_32_in_ruleLENGTH2994 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_33_in_ruleLENGTH3013 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_34_in_ruleLENGTH3032 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_35_in_ruleLENGTH3051 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleANGLE_in_entryRuleANGLE3097 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleANGLE3108 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_INT_in_ruleANGLE3148 = new BitSet(new long[]{0x0000007000000000L});
+ public static final BitSet FOLLOW_36_in_ruleANGLE3167 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_37_in_ruleANGLE3186 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_38_in_ruleANGLE3205 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTIME_in_entryRuleTIME3247 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTIME3258 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_INT_in_ruleTIME3298 = new BitSet(new long[]{0x0000018000000000L});
+ public static final BitSet FOLLOW_39_in_ruleTIME3317 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_40_in_ruleTIME3336 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleFREQ_in_entryRuleFREQ3378 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleFREQ3389 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_INT_in_ruleFREQ3429 = new BitSet(new long[]{0x0000060000000000L});
+ public static final BitSet FOLLOW_41_in_ruleFREQ3448 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_42_in_ruleFREQ3467 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulecss_hash_class_in_entryRulecss_hash_class3508 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulecss_hash_class3518 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_43_in_rulecss_hash_class3563 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_26_in_rulecss_hash_class3592 = new BitSet(new long[]{0x0000000000000040L});
+ public static final BitSet FOLLOW_RULE_IDENT_in_rulecss_hash_class3625 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulecombinator_in_entryRulecombinator3673 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulecombinator3684 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_44_in_rulecombinator3726 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_45_in_rulecombinator3745 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleunary_operator_in_entryRuleunary_operator3790 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleunary_operator3801 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_46_in_ruleunary_operator3839 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_44_in_ruleunary_operator3858 = new BitSet(new long[]{0x0000000000000002L});
+
+} \ No newline at end of file
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/services/CSSGrammarAccess.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/services/CSSGrammarAccess.java
new file mode 100644
index 00000000..809d6eb6
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/services/CSSGrammarAccess.java
@@ -0,0 +1,1279 @@
+/*
+* generated by Xtext
+*/
+
+package org.eclipse.e4.services;
+
+import com.google.inject.Singleton;
+import com.google.inject.Inject;
+
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.service.GrammarProvider;
+import org.eclipse.xtext.service.AbstractElementFinder.*;
+
+import org.eclipse.xtext.common.services.TerminalsGrammarAccess;
+
+@Singleton
+public class CSSGrammarAccess extends AbstractGrammarElementFinder {
+
+
+ public class StylesheetElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "stylesheet");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cLocationAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cLocationSTRINGTerminalRuleCall_0_0 = (RuleCall)cLocationAssignment_0.eContents().get(0);
+ private final Assignment cImportNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cImportNameCss_importParserRuleCall_1_0 = (RuleCall)cImportNameAssignment_1.eContents().get(0);
+ private final Assignment cRulesetAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cRulesetRulesParserRuleCall_2_0 = (RuleCall)cRulesetAssignment_2.eContents().get(0);
+
+ //stylesheet:
+ // location=STRING? importName+=css_import* ruleset+=Rules*;
+ public ParserRule getRule() { return rule; }
+
+ //location=STRING? importName+=css_import* ruleset+=Rules*
+ public Group getGroup() { return cGroup; }
+
+ //location=STRING?
+ public Assignment getLocationAssignment_0() { return cLocationAssignment_0; }
+
+ //STRING
+ public RuleCall getLocationSTRINGTerminalRuleCall_0_0() { return cLocationSTRINGTerminalRuleCall_0_0; }
+
+ //importName+=css_import*
+ public Assignment getImportNameAssignment_1() { return cImportNameAssignment_1; }
+
+ //css_import
+ public RuleCall getImportNameCss_importParserRuleCall_1_0() { return cImportNameCss_importParserRuleCall_1_0; }
+
+ //ruleset+=Rules*
+ public Assignment getRulesetAssignment_2() { return cRulesetAssignment_2; }
+
+ //Rules
+ public RuleCall getRulesetRulesParserRuleCall_2_0() { return cRulesetRulesParserRuleCall_2_0; }
+ }
+
+ public class RulesElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Rules");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cSelectorsAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cSelectorsSelectorParserRuleCall_0_0 = (RuleCall)cSelectorsAssignment_0.eContents().get(0);
+ private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+ private final Keyword cCommaKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
+ private final Assignment cSelectorsAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
+ private final RuleCall cSelectorsSelectorParserRuleCall_1_1_0 = (RuleCall)cSelectorsAssignment_1_1.eContents().get(0);
+ private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final Assignment cDeclarationsAssignment_3 = (Assignment)cGroup.eContents().get(3);
+ private final RuleCall cDeclarationsDeclarationParserRuleCall_3_0 = (RuleCall)cDeclarationsAssignment_3.eContents().get(0);
+ private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
+ private final Keyword cSemicolonKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
+ private final Assignment cDeclarationsAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
+ private final RuleCall cDeclarationsDeclarationParserRuleCall_4_1_0 = (RuleCall)cDeclarationsAssignment_4_1.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
+
+ //Rules:
+ // selectors+=selector ("," selectors+=selector)* "{" declarations+=declaration? (";" declarations+=declaration?)* "}";
+ public ParserRule getRule() { return rule; }
+
+ //selectors+=selector ("," selectors+=selector)* "{" declarations+=declaration? (";" declarations+=declaration?)* "}"
+ public Group getGroup() { return cGroup; }
+
+ //selectors+=selector
+ public Assignment getSelectorsAssignment_0() { return cSelectorsAssignment_0; }
+
+ //selector
+ public RuleCall getSelectorsSelectorParserRuleCall_0_0() { return cSelectorsSelectorParserRuleCall_0_0; }
+
+ //("," selectors+=selector)*
+ public Group getGroup_1() { return cGroup_1; }
+
+ //","
+ public Keyword getCommaKeyword_1_0() { return cCommaKeyword_1_0; }
+
+ //selectors+=selector
+ public Assignment getSelectorsAssignment_1_1() { return cSelectorsAssignment_1_1; }
+
+ //selector
+ public RuleCall getSelectorsSelectorParserRuleCall_1_1_0() { return cSelectorsSelectorParserRuleCall_1_1_0; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+ //declarations+=declaration?
+ public Assignment getDeclarationsAssignment_3() { return cDeclarationsAssignment_3; }
+
+ //declaration
+ public RuleCall getDeclarationsDeclarationParserRuleCall_3_0() { return cDeclarationsDeclarationParserRuleCall_3_0; }
+
+ //(";" declarations+=declaration?)*
+ public Group getGroup_4() { return cGroup_4; }
+
+ //";"
+ public Keyword getSemicolonKeyword_4_0() { return cSemicolonKeyword_4_0; }
+
+ //declarations+=declaration?
+ public Assignment getDeclarationsAssignment_4_1() { return cDeclarationsAssignment_4_1; }
+
+ //declaration
+ public RuleCall getDeclarationsDeclarationParserRuleCall_4_1_0() { return cDeclarationsDeclarationParserRuleCall_4_1_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_5() { return cRightCurlyBracketKeyword_5; }
+ }
+
+ public class Css_importElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "css_import");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cImportKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
+ private final Assignment cString_nameAssignment_1_0 = (Assignment)cAlternatives_1.eContents().get(0);
+ private final RuleCall cString_nameSTRINGTerminalRuleCall_1_0_0 = (RuleCall)cString_nameAssignment_1_0.eContents().get(0);
+ private final RuleCall cURIParserRuleCall_1_1 = (RuleCall)cAlternatives_1.eContents().get(1);
+ private final Keyword cSemicolonKeyword_2 = (Keyword)cGroup.eContents().get(2);
+
+ //css_import:
+ // "@import" (string_name=STRING | URI) ";";
+ public ParserRule getRule() { return rule; }
+
+ //"@import" (string_name=STRING | URI) ";"
+ public Group getGroup() { return cGroup; }
+
+ //"@import"
+ public Keyword getImportKeyword_0() { return cImportKeyword_0; }
+
+ //string_name=STRING | URI
+ public Alternatives getAlternatives_1() { return cAlternatives_1; }
+
+ //string_name=STRING
+ public Assignment getString_nameAssignment_1_0() { return cString_nameAssignment_1_0; }
+
+ //STRING
+ public RuleCall getString_nameSTRINGTerminalRuleCall_1_0_0() { return cString_nameSTRINGTerminalRuleCall_1_0_0; }
+
+ //URI
+ public RuleCall getURIParserRuleCall_1_1() { return cURIParserRuleCall_1_1; }
+
+ //";"
+ public Keyword getSemicolonKeyword_2() { return cSemicolonKeyword_2; }
+ }
+
+ public class SelectorElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "selector");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cSimpleselectorsAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cSimpleselectorsSimple_selectorParserRuleCall_0_0 = (RuleCall)cSimpleselectorsAssignment_0.eContents().get(0);
+ private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
+ private final Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0);
+ private final Assignment cCombinatorAssignment_1_0_0 = (Assignment)cGroup_1_0.eContents().get(0);
+ private final RuleCall cCombinatorCombinatorParserRuleCall_1_0_0_0 = (RuleCall)cCombinatorAssignment_1_0_0.eContents().get(0);
+ private final Assignment cSelectorAssignment_1_0_1 = (Assignment)cGroup_1_0.eContents().get(1);
+ private final RuleCall cSelectorSelectorParserRuleCall_1_0_1_0 = (RuleCall)cSelectorAssignment_1_0_1.eContents().get(0);
+ private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1);
+ private final RuleCall cWSTerminalRuleCall_1_1_0 = (RuleCall)cGroup_1_1.eContents().get(0);
+ private final Group cGroup_1_1_1 = (Group)cGroup_1_1.eContents().get(1);
+ private final Assignment cCombinatorAssignment_1_1_1_0 = (Assignment)cGroup_1_1_1.eContents().get(0);
+ private final RuleCall cCombinatorCombinatorParserRuleCall_1_1_1_0_0 = (RuleCall)cCombinatorAssignment_1_1_1_0.eContents().get(0);
+ private final Assignment cSelectorAssignment_1_1_1_1 = (Assignment)cGroup_1_1_1.eContents().get(1);
+ private final RuleCall cSelectorSelectorParserRuleCall_1_1_1_1_0 = (RuleCall)cSelectorAssignment_1_1_1_1.eContents().get(0);
+
+ //selector hidden():
+ // simpleselectors=simple_selector (combinator=combinator selector=selector | WS+ (combinator=combinator?
+ // selector=selector)?)?;
+ public ParserRule getRule() { return rule; }
+
+ //simpleselectors=simple_selector (combinator=combinator selector=selector | WS+ (combinator=combinator?
+ //selector=selector)?)?
+ public Group getGroup() { return cGroup; }
+
+ //simpleselectors=simple_selector
+ public Assignment getSimpleselectorsAssignment_0() { return cSimpleselectorsAssignment_0; }
+
+ //simple_selector
+ public RuleCall getSimpleselectorsSimple_selectorParserRuleCall_0_0() { return cSimpleselectorsSimple_selectorParserRuleCall_0_0; }
+
+ //(combinator=combinator selector=selector | WS+ (combinator=combinator? selector=selector)?)?
+ public Alternatives getAlternatives_1() { return cAlternatives_1; }
+
+ //combinator=combinator selector=selector
+ public Group getGroup_1_0() { return cGroup_1_0; }
+
+ //combinator=combinator
+ public Assignment getCombinatorAssignment_1_0_0() { return cCombinatorAssignment_1_0_0; }
+
+ //combinator
+ public RuleCall getCombinatorCombinatorParserRuleCall_1_0_0_0() { return cCombinatorCombinatorParserRuleCall_1_0_0_0; }
+
+ //selector=selector
+ public Assignment getSelectorAssignment_1_0_1() { return cSelectorAssignment_1_0_1; }
+
+ //selector
+ public RuleCall getSelectorSelectorParserRuleCall_1_0_1_0() { return cSelectorSelectorParserRuleCall_1_0_1_0; }
+
+ //WS+ (combinator=combinator? selector=selector)?
+ public Group getGroup_1_1() { return cGroup_1_1; }
+
+ //WS+
+ public RuleCall getWSTerminalRuleCall_1_1_0() { return cWSTerminalRuleCall_1_1_0; }
+
+ //(combinator=combinator? selector=selector)?
+ public Group getGroup_1_1_1() { return cGroup_1_1_1; }
+
+ //combinator=combinator?
+ public Assignment getCombinatorAssignment_1_1_1_0() { return cCombinatorAssignment_1_1_1_0; }
+
+ //combinator
+ public RuleCall getCombinatorCombinatorParserRuleCall_1_1_1_0_0() { return cCombinatorCombinatorParserRuleCall_1_1_1_0_0; }
+
+ //selector=selector
+ public Assignment getSelectorAssignment_1_1_1_1() { return cSelectorAssignment_1_1_1_1; }
+
+ //selector
+ public RuleCall getSelectorSelectorParserRuleCall_1_1_1_1_0() { return cSelectorSelectorParserRuleCall_1_1_1_1_0; }
+ }
+
+ public class Simple_selectorElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "simple_selector");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0);
+ private final Assignment cElementAssignment_0_0 = (Assignment)cGroup_0.eContents().get(0);
+ private final RuleCall cElementElement_nameParserRuleCall_0_0_0 = (RuleCall)cElementAssignment_0_0.eContents().get(0);
+ private final Assignment cIdAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1);
+ private final RuleCall cIdCss_hash_classParserRuleCall_0_1_0 = (RuleCall)cIdAssignment_0_1.eContents().get(0);
+ private final Assignment cPseudoAssignment_0_2 = (Assignment)cGroup_0.eContents().get(2);
+ private final RuleCall cPseudoPseudoParserRuleCall_0_2_0 = (RuleCall)cPseudoAssignment_0_2.eContents().get(0);
+ private final Assignment cIdAssignment_1 = (Assignment)cAlternatives.eContents().get(1);
+ private final RuleCall cIdCss_hash_classParserRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
+
+ //simple_selector:
+ // element=element_name id+=css_hash_class* pseudo+=pseudo* | id+=css_hash_class+;
+ public ParserRule getRule() { return rule; }
+
+ //element=element_name id+=css_hash_class* pseudo+=pseudo* | id+=css_hash_class+
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //element=element_name id+=css_hash_class* pseudo+=pseudo*
+ public Group getGroup_0() { return cGroup_0; }
+
+ //element=element_name
+ public Assignment getElementAssignment_0_0() { return cElementAssignment_0_0; }
+
+ //element_name
+ public RuleCall getElementElement_nameParserRuleCall_0_0_0() { return cElementElement_nameParserRuleCall_0_0_0; }
+
+ //id+=css_hash_class*
+ public Assignment getIdAssignment_0_1() { return cIdAssignment_0_1; }
+
+ //css_hash_class
+ public RuleCall getIdCss_hash_classParserRuleCall_0_1_0() { return cIdCss_hash_classParserRuleCall_0_1_0; }
+
+ //pseudo+=pseudo*
+ public Assignment getPseudoAssignment_0_2() { return cPseudoAssignment_0_2; }
+
+ //pseudo
+ public RuleCall getPseudoPseudoParserRuleCall_0_2_0() { return cPseudoPseudoParserRuleCall_0_2_0; }
+
+ //id+=css_hash_class+
+ public Assignment getIdAssignment_1() { return cIdAssignment_1; }
+
+ //css_hash_class
+ public RuleCall getIdCss_hash_classParserRuleCall_1_0() { return cIdCss_hash_classParserRuleCall_1_0; }
+ }
+
+ public class PseudoElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "pseudo");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0);
+ private final Keyword cColonKeyword_0_0 = (Keyword)cGroup_0.eContents().get(0);
+ private final Assignment cNameAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1);
+ private final RuleCall cNameIdentTerminalRuleCall_0_1_0 = (RuleCall)cNameAssignment_0_1.eContents().get(0);
+ private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1);
+ private final Assignment cFunctionAssignment_1_0 = (Assignment)cGroup_1.eContents().get(0);
+ private final RuleCall cFunctionFunctionParserRuleCall_1_0_0 = (RuleCall)cFunctionAssignment_1_0.eContents().get(0);
+ private final Assignment cNameAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
+ private final RuleCall cNameIdentTerminalRuleCall_1_1_0 = (RuleCall)cNameAssignment_1_1.eContents().get(0);
+
+ //pseudo:
+ // ":" name=ident | function=function name=ident?;
+ public ParserRule getRule() { return rule; }
+
+ //":" name=ident | function=function name=ident?
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //":" name=ident
+ public Group getGroup_0() { return cGroup_0; }
+
+ //":"
+ public Keyword getColonKeyword_0_0() { return cColonKeyword_0_0; }
+
+ //name=ident
+ public Assignment getNameAssignment_0_1() { return cNameAssignment_0_1; }
+
+ //ident
+ public RuleCall getNameIdentTerminalRuleCall_0_1_0() { return cNameIdentTerminalRuleCall_0_1_0; }
+
+ //function=function name=ident?
+ public Group getGroup_1() { return cGroup_1; }
+
+ //function=function
+ public Assignment getFunctionAssignment_1_0() { return cFunctionAssignment_1_0; }
+
+ //function
+ public RuleCall getFunctionFunctionParserRuleCall_1_0_0() { return cFunctionFunctionParserRuleCall_1_0_0; }
+
+ //name=ident?
+ public Assignment getNameAssignment_1_1() { return cNameAssignment_1_1; }
+
+ //ident
+ public RuleCall getNameIdentTerminalRuleCall_1_1_0() { return cNameIdentTerminalRuleCall_1_1_0; }
+ }
+
+ public class Element_nameElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "element_name");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final Assignment cNameAssignment_0 = (Assignment)cAlternatives.eContents().get(0);
+ private final RuleCall cNameIdentTerminalRuleCall_0_0 = (RuleCall)cNameAssignment_0.eContents().get(0);
+ private final Assignment cNameAssignment_1 = (Assignment)cAlternatives.eContents().get(1);
+ private final Keyword cNameAsteriskKeyword_1_0 = (Keyword)cNameAssignment_1.eContents().get(0);
+
+ //element_name:
+ // name=ident | name="*";
+ public ParserRule getRule() { return rule; }
+
+ //name=ident | name="*"
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //name=ident
+ public Assignment getNameAssignment_0() { return cNameAssignment_0; }
+
+ //ident
+ public RuleCall getNameIdentTerminalRuleCall_0_0() { return cNameIdentTerminalRuleCall_0_0; }
+
+ //name="*"
+ public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+ //"*"
+ public Keyword getNameAsteriskKeyword_1_0() { return cNameAsteriskKeyword_1_0; }
+ }
+
+ public class DeclarationElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "declaration");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cPropertyAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cPropertyIdentTerminalRuleCall_0_0 = (RuleCall)cPropertyAssignment_0.eContents().get(0);
+ private final Keyword cColonKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Assignment cExprAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cExprExprParserRuleCall_2_0 = (RuleCall)cExprAssignment_2.eContents().get(0);
+ private final Assignment cPriorityAssignment_3 = (Assignment)cGroup.eContents().get(3);
+ private final Keyword cPriorityImportantKeyword_3_0 = (Keyword)cPriorityAssignment_3.eContents().get(0);
+
+ //declaration:
+ // property=ident ":" expr=expr priority="!important"?;
+ public ParserRule getRule() { return rule; }
+
+ //property=ident ":" expr=expr priority="!important"?
+ public Group getGroup() { return cGroup; }
+
+ //property=ident
+ public Assignment getPropertyAssignment_0() { return cPropertyAssignment_0; }
+
+ //ident
+ public RuleCall getPropertyIdentTerminalRuleCall_0_0() { return cPropertyIdentTerminalRuleCall_0_0; }
+
+ //":"
+ public Keyword getColonKeyword_1() { return cColonKeyword_1; }
+
+ //expr=expr
+ public Assignment getExprAssignment_2() { return cExprAssignment_2; }
+
+ //expr
+ public RuleCall getExprExprParserRuleCall_2_0() { return cExprExprParserRuleCall_2_0; }
+
+ //priority="!important"?
+ public Assignment getPriorityAssignment_3() { return cPriorityAssignment_3; }
+
+ //"!important"
+ public Keyword getPriorityImportantKeyword_3_0() { return cPriorityImportantKeyword_3_0; }
+ }
+
+ public class ExprElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "expr");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cTermAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cTermTermParserRuleCall_0_0 = (RuleCall)cTermAssignment_0.eContents().get(0);
+ private final Group cGroup_1 = (Group)cGroup.eContents().get(1);
+ private final Assignment cOperatorsAssignment_1_0 = (Assignment)cGroup_1.eContents().get(0);
+ private final Alternatives cOperatorsAlternatives_1_0_0 = (Alternatives)cOperatorsAssignment_1_0.eContents().get(0);
+ private final Keyword cOperatorsSolidusKeyword_1_0_0_0 = (Keyword)cOperatorsAlternatives_1_0_0.eContents().get(0);
+ private final Keyword cOperatorsCommaKeyword_1_0_0_1 = (Keyword)cOperatorsAlternatives_1_0_0.eContents().get(1);
+ private final Assignment cTermAssignment_1_1 = (Assignment)cGroup_1.eContents().get(1);
+ private final RuleCall cTermTermParserRuleCall_1_1_0 = (RuleCall)cTermAssignment_1_1.eContents().get(0);
+
+ //expr:
+ // term+=term (operators+=("/" | ",")? term+=term)*;
+ public ParserRule getRule() { return rule; }
+
+ //term+=term (operators+=("/" | ",")? term+=term)*
+ public Group getGroup() { return cGroup; }
+
+ //term+=term
+ public Assignment getTermAssignment_0() { return cTermAssignment_0; }
+
+ //term
+ public RuleCall getTermTermParserRuleCall_0_0() { return cTermTermParserRuleCall_0_0; }
+
+ //(operators+=("/" | ",")? term+=term)*
+ public Group getGroup_1() { return cGroup_1; }
+
+ //operators+=("/" | ",")?
+ public Assignment getOperatorsAssignment_1_0() { return cOperatorsAssignment_1_0; }
+
+ //"/" | ","
+ public Alternatives getOperatorsAlternatives_1_0_0() { return cOperatorsAlternatives_1_0_0; }
+
+ //"/"
+ public Keyword getOperatorsSolidusKeyword_1_0_0_0() { return cOperatorsSolidusKeyword_1_0_0_0; }
+
+ //","
+ public Keyword getOperatorsCommaKeyword_1_0_0_1() { return cOperatorsCommaKeyword_1_0_0_1; }
+
+ //term+=term
+ public Assignment getTermAssignment_1_1() { return cTermAssignment_1_1; }
+
+ //term
+ public RuleCall getTermTermParserRuleCall_1_1_0() { return cTermTermParserRuleCall_1_1_0; }
+ }
+
+ 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 Group cGroup_0 = (Group)cAlternatives.eContents().get(0);
+ private final Assignment cUnaryAssignment_0_0 = (Assignment)cGroup_0.eContents().get(0);
+ private final RuleCall cUnaryUnary_operatorParserRuleCall_0_0_0 = (RuleCall)cUnaryAssignment_0_0.eContents().get(0);
+ private final Assignment cNumberAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1);
+ private final RuleCall cNumberUnary_numbersParserRuleCall_0_1_0 = (RuleCall)cNumberAssignment_0_1.eContents().get(0);
+ private final Assignment cNameAssignment_1 = (Assignment)cAlternatives.eContents().get(1);
+ private final RuleCall cNameSTRINGTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+ private final Assignment cIdAssignment_2 = (Assignment)cAlternatives.eContents().get(2);
+ private final RuleCall cIdIdentTerminalRuleCall_2_0 = (RuleCall)cIdAssignment_2.eContents().get(0);
+ private final Assignment cUriAssignment_3 = (Assignment)cAlternatives.eContents().get(3);
+ private final RuleCall cUriURIParserRuleCall_3_0 = (RuleCall)cUriAssignment_3.eContents().get(0);
+ private final Assignment cColorAssignment_4 = (Assignment)cAlternatives.eContents().get(4);
+ private final RuleCall cColorHexdigitsTerminalRuleCall_4_0 = (RuleCall)cColorAssignment_4.eContents().get(0);
+ private final Assignment cFunctionAssignment_5 = (Assignment)cAlternatives.eContents().get(5);
+ private final RuleCall cFunctionFunctionParserRuleCall_5_0 = (RuleCall)cFunctionAssignment_5.eContents().get(0);
+
+ //term:
+ // unary=unary_operator? number=unary_numbers | name=STRING | id=ident | uri=URI | color=hexdigits | function=function;
+ public ParserRule getRule() { return rule; }
+
+ //unary=unary_operator? number=unary_numbers | name=STRING | id=ident | uri=URI | color=hexdigits | function=function
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //unary=unary_operator? number=unary_numbers
+ public Group getGroup_0() { return cGroup_0; }
+
+ //unary=unary_operator?
+ public Assignment getUnaryAssignment_0_0() { return cUnaryAssignment_0_0; }
+
+ //unary_operator
+ public RuleCall getUnaryUnary_operatorParserRuleCall_0_0_0() { return cUnaryUnary_operatorParserRuleCall_0_0_0; }
+
+ //number=unary_numbers
+ public Assignment getNumberAssignment_0_1() { return cNumberAssignment_0_1; }
+
+ //unary_numbers
+ public RuleCall getNumberUnary_numbersParserRuleCall_0_1_0() { return cNumberUnary_numbersParserRuleCall_0_1_0; }
+
+ //name=STRING
+ public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+ //STRING
+ public RuleCall getNameSTRINGTerminalRuleCall_1_0() { return cNameSTRINGTerminalRuleCall_1_0; }
+
+ //id=ident
+ public Assignment getIdAssignment_2() { return cIdAssignment_2; }
+
+ //ident
+ public RuleCall getIdIdentTerminalRuleCall_2_0() { return cIdIdentTerminalRuleCall_2_0; }
+
+ //uri=URI
+ public Assignment getUriAssignment_3() { return cUriAssignment_3; }
+
+ //URI
+ public RuleCall getUriURIParserRuleCall_3_0() { return cUriURIParserRuleCall_3_0; }
+
+ //color=hexdigits
+ public Assignment getColorAssignment_4() { return cColorAssignment_4; }
+
+ //hexdigits
+ public RuleCall getColorHexdigitsTerminalRuleCall_4_0() { return cColorHexdigitsTerminalRuleCall_4_0; }
+
+ //function=function
+ public Assignment getFunctionAssignment_5() { return cFunctionAssignment_5; }
+
+ //function
+ public RuleCall getFunctionFunctionParserRuleCall_5_0() { return cFunctionFunctionParserRuleCall_5_0; }
+ }
+
+ 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 cNameIdentTerminalRuleCall_0_0 = (RuleCall)cNameAssignment_0.eContents().get(0);
+ private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Assignment cExprAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cExprExprParserRuleCall_2_0 = (RuleCall)cExprAssignment_2.eContents().get(0);
+ private final Keyword cRightParenthesisKeyword_3 = (Keyword)cGroup.eContents().get(3);
+
+ //function:
+ // name=ident "(" expr=expr ")";
+ public ParserRule getRule() { return rule; }
+
+ //name=ident "(" expr=expr ")"
+ public Group getGroup() { return cGroup; }
+
+ //name=ident
+ public Assignment getNameAssignment_0() { return cNameAssignment_0; }
+
+ //ident
+ public RuleCall getNameIdentTerminalRuleCall_0_0() { return cNameIdentTerminalRuleCall_0_0; }
+
+ //"("
+ public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; }
+
+ //expr=expr
+ public Assignment getExprAssignment_2() { return cExprAssignment_2; }
+
+ //expr
+ public RuleCall getExprExprParserRuleCall_2_0() { return cExprExprParserRuleCall_2_0; }
+
+ //")"
+ public Keyword getRightParenthesisKeyword_3() { return cRightParenthesisKeyword_3; }
+ }
+
+ public class URIElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "URI");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cUrlKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final Action cURIAction_2 = (Action)cGroup.eContents().get(2);
+ private final Alternatives cAlternatives_3 = (Alternatives)cGroup.eContents().get(3);
+ private final Assignment cNameAssignment_3_0 = (Assignment)cAlternatives_3.eContents().get(0);
+ private final RuleCall cNameSTRINGTerminalRuleCall_3_0_0 = (RuleCall)cNameAssignment_3_0.eContents().get(0);
+ private final Group cGroup_3_1 = (Group)cAlternatives_3.eContents().get(1);
+ private final Alternatives cAlternatives_3_1_0 = (Alternatives)cGroup_3_1.eContents().get(0);
+ private final Keyword cReverseSolidusKeyword_3_1_0_0 = (Keyword)cAlternatives_3_1_0.eContents().get(0);
+ private final Keyword cSolidusKeyword_3_1_0_1 = (Keyword)cAlternatives_3_1_0.eContents().get(1);
+ private final Assignment cIdAssignment_3_1_1 = (Assignment)cGroup_3_1.eContents().get(1);
+ private final RuleCall cIdIdentTerminalRuleCall_3_1_1_0 = (RuleCall)cIdAssignment_3_1_1.eContents().get(0);
+ private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
+ private final Keyword cFullStopKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
+ private final Assignment cIdAssignment_4_1 = (Assignment)cGroup_4.eContents().get(1);
+ private final RuleCall cIdIdentTerminalRuleCall_4_1_0 = (RuleCall)cIdAssignment_4_1.eContents().get(0);
+ private final Keyword cRightParenthesisKeyword_5 = (Keyword)cGroup.eContents().get(5);
+
+ //URI:
+ // "url" "(" {URI} (name+=STRING | ("\\" | "/") id+=ident)* ("." id+=ident)? ")";
+ public ParserRule getRule() { return rule; }
+
+ //"url" "(" {URI} (name+=STRING | ("\\" | "/") id+=ident)* ("." id+=ident)? ")"
+ public Group getGroup() { return cGroup; }
+
+ //"url"
+ public Keyword getUrlKeyword_0() { return cUrlKeyword_0; }
+
+ //"("
+ public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; }
+
+ //{URI}
+ public Action getURIAction_2() { return cURIAction_2; }
+
+ //(name+=STRING | ("\\" | "/") id+=ident)*
+ public Alternatives getAlternatives_3() { return cAlternatives_3; }
+
+ //name+=STRING
+ public Assignment getNameAssignment_3_0() { return cNameAssignment_3_0; }
+
+ //STRING
+ public RuleCall getNameSTRINGTerminalRuleCall_3_0_0() { return cNameSTRINGTerminalRuleCall_3_0_0; }
+
+ //("\\" | "/") id+=ident
+ public Group getGroup_3_1() { return cGroup_3_1; }
+
+ //"\\" | "/"
+ public Alternatives getAlternatives_3_1_0() { return cAlternatives_3_1_0; }
+
+ //"\\"
+ public Keyword getReverseSolidusKeyword_3_1_0_0() { return cReverseSolidusKeyword_3_1_0_0; }
+
+ //"/"
+ public Keyword getSolidusKeyword_3_1_0_1() { return cSolidusKeyword_3_1_0_1; }
+
+ //id+=ident
+ public Assignment getIdAssignment_3_1_1() { return cIdAssignment_3_1_1; }
+
+ //ident
+ public RuleCall getIdIdentTerminalRuleCall_3_1_1_0() { return cIdIdentTerminalRuleCall_3_1_1_0; }
+
+ //("." id+=ident)?
+ public Group getGroup_4() { return cGroup_4; }
+
+ //"."
+ public Keyword getFullStopKeyword_4_0() { return cFullStopKeyword_4_0; }
+
+ //id+=ident
+ public Assignment getIdAssignment_4_1() { return cIdAssignment_4_1; }
+
+ //ident
+ public RuleCall getIdIdentTerminalRuleCall_4_1_0() { return cIdIdentTerminalRuleCall_4_1_0; }
+
+ //")"
+ public Keyword getRightParenthesisKeyword_5() { return cRightParenthesisKeyword_5; }
+ }
+
+ public class Unary_numbersElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "unary_numbers");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final RuleCall cINTTerminalRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+ private final RuleCall cPERCENTAGEParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+ private final RuleCall cLENGTHParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
+ private final RuleCall cEMSParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
+ private final RuleCall cEXSParserRuleCall_4 = (RuleCall)cAlternatives.eContents().get(4);
+ private final RuleCall cANGLEParserRuleCall_5 = (RuleCall)cAlternatives.eContents().get(5);
+ private final RuleCall cTIMEParserRuleCall_6 = (RuleCall)cAlternatives.eContents().get(6);
+ private final RuleCall cFREQParserRuleCall_7 = (RuleCall)cAlternatives.eContents().get(7);
+
+ //unary_numbers:
+ // INT | PERCENTAGE | LENGTH | EMS | EXS | ANGLE | TIME | FREQ;
+ public ParserRule getRule() { return rule; }
+
+ //INT | PERCENTAGE | LENGTH | EMS | EXS | ANGLE | TIME | FREQ
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //INT
+ public RuleCall getINTTerminalRuleCall_0() { return cINTTerminalRuleCall_0; }
+
+ //PERCENTAGE
+ public RuleCall getPERCENTAGEParserRuleCall_1() { return cPERCENTAGEParserRuleCall_1; }
+
+ //LENGTH
+ public RuleCall getLENGTHParserRuleCall_2() { return cLENGTHParserRuleCall_2; }
+
+ //EMS
+ public RuleCall getEMSParserRuleCall_3() { return cEMSParserRuleCall_3; }
+
+ //EXS
+ public RuleCall getEXSParserRuleCall_4() { return cEXSParserRuleCall_4; }
+
+ //ANGLE
+ public RuleCall getANGLEParserRuleCall_5() { return cANGLEParserRuleCall_5; }
+
+ //TIME
+ public RuleCall getTIMEParserRuleCall_6() { return cTIMEParserRuleCall_6; }
+
+ //FREQ
+ public RuleCall getFREQParserRuleCall_7() { return cFREQParserRuleCall_7; }
+ }
+
+ public class PERCENTAGEElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PERCENTAGE");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final RuleCall cINTTerminalRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
+ private final Keyword cPercentSignKeyword_1 = (Keyword)cGroup.eContents().get(1);
+
+ //PERCENTAGE:
+ // INT "%";
+ public ParserRule getRule() { return rule; }
+
+ //INT "%"
+ public Group getGroup() { return cGroup; }
+
+ //INT
+ public RuleCall getINTTerminalRuleCall_0() { return cINTTerminalRuleCall_0; }
+
+ //"%"
+ public Keyword getPercentSignKeyword_1() { return cPercentSignKeyword_1; }
+ }
+
+ public class EMSElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EMS");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final RuleCall cINTTerminalRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
+ private final Keyword cEmKeyword_1 = (Keyword)cGroup.eContents().get(1);
+
+ //EMS:
+ // INT "em";
+ public ParserRule getRule() { return rule; }
+
+ //INT "em"
+ public Group getGroup() { return cGroup; }
+
+ //INT
+ public RuleCall getINTTerminalRuleCall_0() { return cINTTerminalRuleCall_0; }
+
+ //"em"
+ public Keyword getEmKeyword_1() { return cEmKeyword_1; }
+ }
+
+ public class EXSElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "EXS");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final RuleCall cINTTerminalRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
+ private final Keyword cExKeyword_1 = (Keyword)cGroup.eContents().get(1);
+
+ //EXS:
+ // INT "ex";
+ public ParserRule getRule() { return rule; }
+
+ //INT "ex"
+ public Group getGroup() { return cGroup; }
+
+ //INT
+ public RuleCall getINTTerminalRuleCall_0() { return cINTTerminalRuleCall_0; }
+
+ //"ex"
+ public Keyword getExKeyword_1() { return cExKeyword_1; }
+ }
+
+ public class LENGTHElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "LENGTH");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final RuleCall cINTTerminalRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
+ private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
+ private final Keyword cPxKeyword_1_0 = (Keyword)cAlternatives_1.eContents().get(0);
+ private final Keyword cCmKeyword_1_1 = (Keyword)cAlternatives_1.eContents().get(1);
+ private final Keyword cMmKeyword_1_2 = (Keyword)cAlternatives_1.eContents().get(2);
+ private final Keyword cInKeyword_1_3 = (Keyword)cAlternatives_1.eContents().get(3);
+ private final Keyword cPtKeyword_1_4 = (Keyword)cAlternatives_1.eContents().get(4);
+ private final Keyword cPcKeyword_1_5 = (Keyword)cAlternatives_1.eContents().get(5);
+
+ //LENGTH hidden():
+ // INT ("px" | "cm" | "mm" | "in" | "pt" | "pc");
+ public ParserRule getRule() { return rule; }
+
+ //INT ("px" | "cm" | "mm" | "in" | "pt" | "pc")
+ public Group getGroup() { return cGroup; }
+
+ //INT
+ public RuleCall getINTTerminalRuleCall_0() { return cINTTerminalRuleCall_0; }
+
+ //"px" | "cm" | "mm" | "in" | "pt" | "pc"
+ public Alternatives getAlternatives_1() { return cAlternatives_1; }
+
+ //"px"
+ public Keyword getPxKeyword_1_0() { return cPxKeyword_1_0; }
+
+ //"cm"
+ public Keyword getCmKeyword_1_1() { return cCmKeyword_1_1; }
+
+ //"mm"
+ public Keyword getMmKeyword_1_2() { return cMmKeyword_1_2; }
+
+ //"in"
+ public Keyword getInKeyword_1_3() { return cInKeyword_1_3; }
+
+ //"pt"
+ public Keyword getPtKeyword_1_4() { return cPtKeyword_1_4; }
+
+ //"pc"
+ public Keyword getPcKeyword_1_5() { return cPcKeyword_1_5; }
+ }
+
+ public class ANGLEElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "ANGLE");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final RuleCall cINTTerminalRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
+ private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
+ private final Keyword cDegKeyword_1_0 = (Keyword)cAlternatives_1.eContents().get(0);
+ private final Keyword cRadKeyword_1_1 = (Keyword)cAlternatives_1.eContents().get(1);
+ private final Keyword cGradKeyword_1_2 = (Keyword)cAlternatives_1.eContents().get(2);
+
+ //ANGLE:
+ // INT ("deg" | "rad" | "grad");
+ public ParserRule getRule() { return rule; }
+
+ //INT ("deg" | "rad" | "grad")
+ public Group getGroup() { return cGroup; }
+
+ //INT
+ public RuleCall getINTTerminalRuleCall_0() { return cINTTerminalRuleCall_0; }
+
+ //"deg" | "rad" | "grad"
+ public Alternatives getAlternatives_1() { return cAlternatives_1; }
+
+ //"deg"
+ public Keyword getDegKeyword_1_0() { return cDegKeyword_1_0; }
+
+ //"rad"
+ public Keyword getRadKeyword_1_1() { return cRadKeyword_1_1; }
+
+ //"grad"
+ public Keyword getGradKeyword_1_2() { return cGradKeyword_1_2; }
+ }
+
+ public class TIMEElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "TIME");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final RuleCall cINTTerminalRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
+ private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
+ private final Keyword cMsKeyword_1_0 = (Keyword)cAlternatives_1.eContents().get(0);
+ private final Keyword cSKeyword_1_1 = (Keyword)cAlternatives_1.eContents().get(1);
+
+ //TIME:
+ // INT ("ms" | "s");
+ public ParserRule getRule() { return rule; }
+
+ //INT ("ms" | "s")
+ public Group getGroup() { return cGroup; }
+
+ //INT
+ public RuleCall getINTTerminalRuleCall_0() { return cINTTerminalRuleCall_0; }
+
+ //"ms" | "s"
+ public Alternatives getAlternatives_1() { return cAlternatives_1; }
+
+ //"ms"
+ public Keyword getMsKeyword_1_0() { return cMsKeyword_1_0; }
+
+ //"s"
+ public Keyword getSKeyword_1_1() { return cSKeyword_1_1; }
+ }
+
+ public class FREQElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "FREQ");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final RuleCall cINTTerminalRuleCall_0 = (RuleCall)cGroup.eContents().get(0);
+ private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
+ private final Keyword cHzKeyword_1_0 = (Keyword)cAlternatives_1.eContents().get(0);
+ private final Keyword cKhzKeyword_1_1 = (Keyword)cAlternatives_1.eContents().get(1);
+
+ //FREQ:
+ // INT ("hz" | "khz");
+ public ParserRule getRule() { return rule; }
+
+ //INT ("hz" | "khz")
+ public Group getGroup() { return cGroup; }
+
+ //INT
+ public RuleCall getINTTerminalRuleCall_0() { return cINTTerminalRuleCall_0; }
+
+ //"hz" | "khz"
+ public Alternatives getAlternatives_1() { return cAlternatives_1; }
+
+ //"hz"
+ public Keyword getHzKeyword_1_0() { return cHzKeyword_1_0; }
+
+ //"khz"
+ public Keyword getKhzKeyword_1_1() { return cKhzKeyword_1_1; }
+ }
+
+ public class Css_hash_classElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "css_hash_class");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cTypeAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final Alternatives cTypeAlternatives_0_0 = (Alternatives)cTypeAssignment_0.eContents().get(0);
+ private final Keyword cTypeNumberSignKeyword_0_0_0 = (Keyword)cTypeAlternatives_0_0.eContents().get(0);
+ private final Keyword cTypeFullStopKeyword_0_0_1 = (Keyword)cTypeAlternatives_0_0.eContents().get(1);
+ private final Assignment cNameAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cNameIdentTerminalRuleCall_1_0 = (RuleCall)cNameAssignment_1.eContents().get(0);
+
+ //css_hash_class:
+ // type=("#" | ".") name=ident;
+ public ParserRule getRule() { return rule; }
+
+ //type=("#" | ".") name=ident
+ public Group getGroup() { return cGroup; }
+
+ //type=("#" | ".")
+ public Assignment getTypeAssignment_0() { return cTypeAssignment_0; }
+
+ //"#" | "."
+ public Alternatives getTypeAlternatives_0_0() { return cTypeAlternatives_0_0; }
+
+ //"#"
+ public Keyword getTypeNumberSignKeyword_0_0_0() { return cTypeNumberSignKeyword_0_0_0; }
+
+ //"."
+ public Keyword getTypeFullStopKeyword_0_0_1() { return cTypeFullStopKeyword_0_0_1; }
+
+ //name=ident
+ public Assignment getNameAssignment_1() { return cNameAssignment_1; }
+
+ //ident
+ public RuleCall getNameIdentTerminalRuleCall_1_0() { return cNameIdentTerminalRuleCall_1_0; }
+ }
+
+ public class CombinatorElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "combinator");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final Keyword cPlusSignKeyword_0 = (Keyword)cAlternatives.eContents().get(0);
+ private final Keyword cGreaterThanSignKeyword_1 = (Keyword)cAlternatives.eContents().get(1);
+
+ //combinator hidden(WS):
+ // "+" | ">";
+ public ParserRule getRule() { return rule; }
+
+ //"+" | ">"
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //"+"
+ public Keyword getPlusSignKeyword_0() { return cPlusSignKeyword_0; }
+
+ //">"
+ public Keyword getGreaterThanSignKeyword_1() { return cGreaterThanSignKeyword_1; }
+ }
+
+ public class Unary_operatorElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "unary_operator");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final Keyword cHyphenMinusKeyword_0 = (Keyword)cAlternatives.eContents().get(0);
+ private final Keyword cPlusSignKeyword_1 = (Keyword)cAlternatives.eContents().get(1);
+
+ //unary_operator:
+ // "-" | "+";
+ public ParserRule getRule() { return rule; }
+
+ //"-" | "+"
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //"-"
+ public Keyword getHyphenMinusKeyword_0() { return cHyphenMinusKeyword_0; }
+
+ //"+"
+ public Keyword getPlusSignKeyword_1() { return cPlusSignKeyword_1; }
+ }
+
+
+ private StylesheetElements pStylesheet;
+ private RulesElements pRules;
+ private Css_importElements pCss_import;
+ private SelectorElements pSelector;
+ private Simple_selectorElements pSimple_selector;
+ private PseudoElements pPseudo;
+ private Element_nameElements pElement_name;
+ private DeclarationElements pDeclaration;
+ private ExprElements pExpr;
+ private TermElements pTerm;
+ private FunctionElements pFunction;
+ private URIElements pURI;
+ private Unary_numbersElements pUnary_numbers;
+ private PERCENTAGEElements pPERCENTAGE;
+ private EMSElements pEMS;
+ private EXSElements pEXS;
+ private LENGTHElements pLENGTH;
+ private ANGLEElements pANGLE;
+ private TIMEElements pTIME;
+ private FREQElements pFREQ;
+ private Css_hash_classElements pCss_hash_class;
+ private TerminalRule tHexdigits;
+ private TerminalRule tIdent;
+ private CombinatorElements pCombinator;
+ private Unary_operatorElements pUnary_operator;
+
+ private final GrammarProvider grammarProvider;
+
+ private TerminalsGrammarAccess gaTerminals;
+
+ @Inject
+ public CSSGrammarAccess(GrammarProvider grammarProvider,
+ TerminalsGrammarAccess gaTerminals) {
+ this.grammarProvider = grammarProvider;
+ this.gaTerminals = gaTerminals;
+ }
+
+ public Grammar getGrammar() {
+ return grammarProvider.getGrammar(this);
+ }
+
+
+ public TerminalsGrammarAccess getTerminalsGrammarAccess() {
+ return gaTerminals;
+ }
+
+
+ //stylesheet:
+ // location=STRING? importName+=css_import* ruleset+=Rules*;
+ public StylesheetElements getStylesheetAccess() {
+ return (pStylesheet != null) ? pStylesheet : (pStylesheet = new StylesheetElements());
+ }
+
+ public ParserRule getStylesheetRule() {
+ return getStylesheetAccess().getRule();
+ }
+
+ //Rules:
+ // selectors+=selector ("," selectors+=selector)* "{" declarations+=declaration? (";" declarations+=declaration?)* "}";
+ public RulesElements getRulesAccess() {
+ return (pRules != null) ? pRules : (pRules = new RulesElements());
+ }
+
+ public ParserRule getRulesRule() {
+ return getRulesAccess().getRule();
+ }
+
+ //css_import:
+ // "@import" (string_name=STRING | URI) ";";
+ public Css_importElements getCss_importAccess() {
+ return (pCss_import != null) ? pCss_import : (pCss_import = new Css_importElements());
+ }
+
+ public ParserRule getCss_importRule() {
+ return getCss_importAccess().getRule();
+ }
+
+ //selector hidden():
+ // simpleselectors=simple_selector (combinator=combinator selector=selector | WS+ (combinator=combinator?
+ // selector=selector)?)?;
+ public SelectorElements getSelectorAccess() {
+ return (pSelector != null) ? pSelector : (pSelector = new SelectorElements());
+ }
+
+ public ParserRule getSelectorRule() {
+ return getSelectorAccess().getRule();
+ }
+
+ //simple_selector:
+ // element=element_name id+=css_hash_class* pseudo+=pseudo* | id+=css_hash_class+;
+ public Simple_selectorElements getSimple_selectorAccess() {
+ return (pSimple_selector != null) ? pSimple_selector : (pSimple_selector = new Simple_selectorElements());
+ }
+
+ public ParserRule getSimple_selectorRule() {
+ return getSimple_selectorAccess().getRule();
+ }
+
+ //pseudo:
+ // ":" name=ident | function=function name=ident?;
+ public PseudoElements getPseudoAccess() {
+ return (pPseudo != null) ? pPseudo : (pPseudo = new PseudoElements());
+ }
+
+ public ParserRule getPseudoRule() {
+ return getPseudoAccess().getRule();
+ }
+
+ //element_name:
+ // name=ident | name="*";
+ public Element_nameElements getElement_nameAccess() {
+ return (pElement_name != null) ? pElement_name : (pElement_name = new Element_nameElements());
+ }
+
+ public ParserRule getElement_nameRule() {
+ return getElement_nameAccess().getRule();
+ }
+
+ //declaration:
+ // property=ident ":" expr=expr priority="!important"?;
+ public DeclarationElements getDeclarationAccess() {
+ return (pDeclaration != null) ? pDeclaration : (pDeclaration = new DeclarationElements());
+ }
+
+ public ParserRule getDeclarationRule() {
+ return getDeclarationAccess().getRule();
+ }
+
+ //expr:
+ // term+=term (operators+=("/" | ",")? term+=term)*;
+ public ExprElements getExprAccess() {
+ return (pExpr != null) ? pExpr : (pExpr = new ExprElements());
+ }
+
+ public ParserRule getExprRule() {
+ return getExprAccess().getRule();
+ }
+
+ //term:
+ // unary=unary_operator? number=unary_numbers | name=STRING | id=ident | uri=URI | color=hexdigits | function=function;
+ public TermElements getTermAccess() {
+ return (pTerm != null) ? pTerm : (pTerm = new TermElements());
+ }
+
+ public ParserRule getTermRule() {
+ return getTermAccess().getRule();
+ }
+
+ //function:
+ // name=ident "(" expr=expr ")";
+ public FunctionElements getFunctionAccess() {
+ return (pFunction != null) ? pFunction : (pFunction = new FunctionElements());
+ }
+
+ public ParserRule getFunctionRule() {
+ return getFunctionAccess().getRule();
+ }
+
+ //URI:
+ // "url" "(" {URI} (name+=STRING | ("\\" | "/") id+=ident)* ("." id+=ident)? ")";
+ public URIElements getURIAccess() {
+ return (pURI != null) ? pURI : (pURI = new URIElements());
+ }
+
+ public ParserRule getURIRule() {
+ return getURIAccess().getRule();
+ }
+
+ //unary_numbers:
+ // INT | PERCENTAGE | LENGTH | EMS | EXS | ANGLE | TIME | FREQ;
+ public Unary_numbersElements getUnary_numbersAccess() {
+ return (pUnary_numbers != null) ? pUnary_numbers : (pUnary_numbers = new Unary_numbersElements());
+ }
+
+ public ParserRule getUnary_numbersRule() {
+ return getUnary_numbersAccess().getRule();
+ }
+
+ //PERCENTAGE:
+ // INT "%";
+ public PERCENTAGEElements getPERCENTAGEAccess() {
+ return (pPERCENTAGE != null) ? pPERCENTAGE : (pPERCENTAGE = new PERCENTAGEElements());
+ }
+
+ public ParserRule getPERCENTAGERule() {
+ return getPERCENTAGEAccess().getRule();
+ }
+
+ //EMS:
+ // INT "em";
+ public EMSElements getEMSAccess() {
+ return (pEMS != null) ? pEMS : (pEMS = new EMSElements());
+ }
+
+ public ParserRule getEMSRule() {
+ return getEMSAccess().getRule();
+ }
+
+ //EXS:
+ // INT "ex";
+ public EXSElements getEXSAccess() {
+ return (pEXS != null) ? pEXS : (pEXS = new EXSElements());
+ }
+
+ public ParserRule getEXSRule() {
+ return getEXSAccess().getRule();
+ }
+
+ //LENGTH hidden():
+ // INT ("px" | "cm" | "mm" | "in" | "pt" | "pc");
+ public LENGTHElements getLENGTHAccess() {
+ return (pLENGTH != null) ? pLENGTH : (pLENGTH = new LENGTHElements());
+ }
+
+ public ParserRule getLENGTHRule() {
+ return getLENGTHAccess().getRule();
+ }
+
+ //ANGLE:
+ // INT ("deg" | "rad" | "grad");
+ public ANGLEElements getANGLEAccess() {
+ return (pANGLE != null) ? pANGLE : (pANGLE = new ANGLEElements());
+ }
+
+ public ParserRule getANGLERule() {
+ return getANGLEAccess().getRule();
+ }
+
+ //TIME:
+ // INT ("ms" | "s");
+ public TIMEElements getTIMEAccess() {
+ return (pTIME != null) ? pTIME : (pTIME = new TIMEElements());
+ }
+
+ public ParserRule getTIMERule() {
+ return getTIMEAccess().getRule();
+ }
+
+ //FREQ:
+ // INT ("hz" | "khz");
+ public FREQElements getFREQAccess() {
+ return (pFREQ != null) ? pFREQ : (pFREQ = new FREQElements());
+ }
+
+ public ParserRule getFREQRule() {
+ return getFREQAccess().getRule();
+ }
+
+ //css_hash_class:
+ // type=("#" | ".") name=ident;
+ public Css_hash_classElements getCss_hash_classAccess() {
+ return (pCss_hash_class != null) ? pCss_hash_class : (pCss_hash_class = new Css_hash_classElements());
+ }
+
+ public ParserRule getCss_hash_classRule() {
+ return getCss_hash_classAccess().getRule();
+ }
+
+ //terminal hexdigits:
+ // "#" ("0".."9" | "a".."f" | "A".."F")+;
+ public TerminalRule getHexdigitsRule() {
+ return (tHexdigits != null) ? tHexdigits : (tHexdigits = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "hexdigits"));
+ }
+
+ //terminal ident:
+ // ("_" | "-" | "a".."z" | "A".."Z") ("_" | "-" | "a".."z" | "A".."Z" | "0".."9")*;
+ public TerminalRule getIdentRule() {
+ return (tIdent != null) ? tIdent : (tIdent = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "ident"));
+ }
+
+ //combinator hidden(WS):
+ // "+" | ">";
+ public CombinatorElements getCombinatorAccess() {
+ return (pCombinator != null) ? pCombinator : (pCombinator = new CombinatorElements());
+ }
+
+ public ParserRule getCombinatorRule() {
+ return getCombinatorAccess().getRule();
+ }
+
+ //unary_operator:
+ // "-" | "+";
+ public Unary_operatorElements getUnary_operatorAccess() {
+ return (pUnary_operator != null) ? pUnary_operator : (pUnary_operator = new Unary_operatorElements());
+ }
+
+ public ParserRule getUnary_operatorRule() {
+ return getUnary_operatorAccess().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/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/validation/AbstractCSSJavaValidator.java b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/validation/AbstractCSSJavaValidator.java
new file mode 100644
index 00000000..b7575d91
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src-gen/org/eclipse/e4/validation/AbstractCSSJavaValidator.java
@@ -0,0 +1,20 @@
+package org.eclipse.e4.validation;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.xtext.validation.AbstractDeclarativeValidator;
+import org.eclipse.xtext.validation.ComposedChecks;
+
+@ComposedChecks(validators= {org.eclipse.xtext.validation.ImportUriValidator.class})
+public class AbstractCSSJavaValidator extends AbstractDeclarativeValidator {
+
+ @Override
+ protected List<EPackage> getEPackages() {
+ List<EPackage> result = new ArrayList<EPackage>();
+ result.add(org.eclipse.e4.cSS.CSSPackage.eINSTANCE);
+ return result;
+ }
+
+}
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src/org/eclipse/e4/CSS.xtext b/bundles/org.eclipse.e4.tools.css.editor/src/org/eclipse/e4/CSS.xtext
new file mode 100644
index 00000000..bd69faf8
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src/org/eclipse/e4/CSS.xtext
@@ -0,0 +1,90 @@
+grammar org.eclipse.e4.CSS with org.eclipse.xtext.common.Terminals
+
+generate cSS "http://www.eclipse.org/e4/CSS"
+
+stylesheet:
+ location=STRING?
+ (importName+=css_import)*
+ (ruleset+=Rules)*
+ ;
+
+Rules:
+ selectors+=selector (',' selectors+=selector )*
+ '{' declarations+=declaration? ( ';' declarations+=declaration? )* '}'
+ ;
+
+
+css_import:
+ '@import' (string_name=STRING | URI) ';'
+;
+
+selector hidden():
+ simpleselectors=simple_selector ( combinator=combinator selector=selector | WS+ ( combinator=combinator? selector=selector )? )?
+ ;
+
+
+ simple_selector:
+ (element=element_name id+=css_hash_class* pseudo+=pseudo*) | (id+=css_hash_class+)
+ ;
+
+
+pseudo:
+ ':' name=ident | function=function name=ident?
+ ;
+
+element_name: (name=ident | name='*')
+ ;
+
+ declaration
+ : property=ident ':' expr=expr priority="!important"?
+ ;
+
+ expr
+ : term+=term ( operators+= ('/' | ',')? term+=term )*
+ ;
+
+
+ term: unary=unary_operator?
+ number= unary_numbers | name=STRING | id=ident | uri=URI | color=hexdigits | function=function
+ ;
+
+ function
+ : name=ident '(' expr=expr ')'
+ ;
+
+URI:
+'url''(' {URI}(name+=STRING | (('\\' |'/')(id+=ident)) )*('.'id+=ident)? ')';
+
+unary_numbers:
+ INT | PERCENTAGE | LENGTH | EMS | EXS | ANGLE | TIME | FREQ
+;
+PERCENTAGE: INT '%';
+EMS: INT 'em';
+EXS: INT 'ex';
+LENGTH hidden(): INT ('px' | 'cm' | 'mm' | 'in' | 'pt' | 'pc' ) ;
+
+ANGLE: INT ('deg' | 'rad' | 'grad' );
+TIME: INT ('ms'| 's' );
+FREQ: INT ('hz' | 'khz');
+
+
+
+ css_hash_class :
+ type=('#' | '.') name=ident
+;
+
+terminal hexdigits: '#' ('0' .. '9' | 'a'..'f' | 'A'..'F')+
+;
+
+terminal ident:
+ ('_' | '-' | 'a'..'z' | 'A'..'Z' ) ('_' | '-' | 'a'..'z' | 'A'..'Z' | '0'..'9' )*
+;
+
+combinator hidden(WS): '+'
+ | '>'
+ ;
+unary_operator
+ : '-' | '+'
+ ;
+
+
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src/org/eclipse/e4/CSSRuntimeModule.java b/bundles/org.eclipse.e4.tools.css.editor/src/org/eclipse/e4/CSSRuntimeModule.java
new file mode 100644
index 00000000..44ac8977
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src/org/eclipse/e4/CSSRuntimeModule.java
@@ -0,0 +1,11 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.e4;
+
+/**
+ * Use this class to register components to be used at runtime / without the Equinox extension registry.
+ */
+public class CSSRuntimeModule extends org.eclipse.e4.AbstractCSSRuntimeModule {
+
+}
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src/org/eclipse/e4/CSSStandaloneSetup.java b/bundles/org.eclipse.e4.tools.css.editor/src/org/eclipse/e4/CSSStandaloneSetup.java
new file mode 100644
index 00000000..958ca39a
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src/org/eclipse/e4/CSSStandaloneSetup.java
@@ -0,0 +1,14 @@
+
+package org.eclipse.e4;
+
+/**
+ * Initialization support for running Xtext languages
+ * without equinox extension registry
+ */
+public class CSSStandaloneSetup extends CSSStandaloneSetupGenerated{
+
+ public static void doSetup() {
+ new CSSStandaloneSetup().createInjectorAndDoEMFRegistration();
+ }
+}
+
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src/org/eclipse/e4/GenerateCSS.mwe2 b/bundles/org.eclipse.e4.tools.css.editor/src/org/eclipse/e4/GenerateCSS.mwe2
new file mode 100644
index 00000000..ab36778f
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src/org/eclipse/e4/GenerateCSS.mwe2
@@ -0,0 +1,132 @@
+module org.eclipse.e4.GenerateCSS
+
+import org.eclipse.emf.mwe.utils.*
+import org.eclipse.xtext.generator.*
+import org.eclipse.xtext.ui.generator.*
+
+var grammarURI = "classpath:/org/eclipse/e4/CSS.xtext"
+var file.extensions = "css"
+var projectName = "org.eclipse.e4.tools.css.editor"
+var runtimeProject = "../${projectName}"
+
+Workflow {
+ bean = StandaloneSetup {
+ scanClassPath = true
+ platformUri = "${runtimeProject}/.."
+ }
+
+ 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 {}
+
+ // 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 serialization component
+ 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 = true
+ generateJavaMain = true
+ }
+
+ // 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
+ // }
+
+ // 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 {}
+
+ // rename refactoring
+ // fragment = refactoring.RefactorElementNameFragment {}
+
+ // provides a compare view
+ // fragment = compare.CompareFragment {
+ // fileExtensions = file.extensions
+ // }
+
+ // Serializer 2.0
+ // fragment = serializer.SerializerFragment {}
+ }
+ }
+}
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src/org/eclipse/e4/formatting/CSSFormatter.java b/bundles/org.eclipse.e4.tools.css.editor/src/org/eclipse/e4/formatting/CSSFormatter.java
new file mode 100644
index 00000000..9e0de54e
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src/org/eclipse/e4/formatting/CSSFormatter.java
@@ -0,0 +1,27 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.e4.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 CSSFormatter 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/bundles/org.eclipse.e4.tools.css.editor/src/org/eclipse/e4/generator/CSSGenerator.xtend b/bundles/org.eclipse.e4.tools.css.editor/src/org/eclipse/e4/generator/CSSGenerator.xtend
new file mode 100644
index 00000000..b5c02631
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src/org/eclipse/e4/generator/CSSGenerator.xtend
@@ -0,0 +1,15 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.e4.generator
+
+import org.eclipse.emf.ecore.resource.Resource
+import org.eclipse.xtext.generator.IGenerator
+import org.eclipse.xtext.generator.IFileSystemAccess
+
+class CSSGenerator implements IGenerator {
+
+ override void doGenerate(Resource resource, IFileSystemAccess fsa) {
+ //TODO implment me
+ }
+}
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src/org/eclipse/e4/generator/CSSGeneratorMWE.mwe2 b/bundles/org.eclipse.e4.tools.css.editor/src/org/eclipse/e4/generator/CSSGeneratorMWE.mwe2
new file mode 100644
index 00000000..95cc25ae
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src/org/eclipse/e4/generator/CSSGeneratorMWE.mwe2
@@ -0,0 +1,32 @@
+
+module org.eclipse.e4.generator.CSSGeneratorMWE
+
+import org.eclipse.emf.mwe.utils.*
+
+var targetDir
+var modelPath
+
+Workflow {
+
+ component = org.eclipse.xtext.mwe.Reader {
+ // lookup all resources on the classpath
+ // useJavaClassPath = true
+
+ // or define search scope explicitly
+ path = modelPath
+
+ // this class will be generated by the xtext generator
+ register = org.eclipse.e4.CSSStandaloneSetup {}
+ loadResource = {
+ slot = "model"
+ }
+ }
+
+ component = org.eclipse.xtext.generator.GeneratorComponent {
+ register = org.eclipse.e4.CSSStandaloneSetup {}
+ slot = 'model'
+ outlet = {
+ path = targetDir
+ }
+ }
+}
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src/org/eclipse/e4/generator/Main.java b/bundles/org.eclipse.e4.tools.css.editor/src/org/eclipse/e4/generator/Main.java
new file mode 100644
index 00000000..072ec123
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src/org/eclipse/e4/generator/Main.java
@@ -0,0 +1,67 @@
+
+/*
+ * generated by Xtext
+ */
+package org.eclipse.e4.generator;
+
+import java.util.List;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.xtext.generator.IGenerator;
+import org.eclipse.xtext.generator.JavaIoFileSystemAccess;
+import org.eclipse.xtext.util.CancelIndicator;
+import org.eclipse.xtext.validation.CheckMode;
+import org.eclipse.xtext.validation.IResourceValidator;
+import org.eclipse.xtext.validation.Issue;
+
+import com.google.inject.Inject;
+import com.google.inject.Injector;
+import com.google.inject.Provider;
+
+public class Main {
+
+ public static void main(String[] args) {
+ if (args.length==0) {
+ System.err.println("Aborting: no path to EMF resource provided!");
+ return;
+ }
+ Injector injector = new org.eclipse.e4.CSSStandaloneSetupGenerated().createInjectorAndDoEMFRegistration();
+ Main main = injector.getInstance(Main.class);
+ main.runGenerator(args[0]);
+ }
+
+ @Inject
+ private Provider<ResourceSet> resourceSetProvider;
+
+ @Inject
+ private IResourceValidator validator;
+
+ @Inject
+ private IGenerator generator;
+
+ @Inject
+ private JavaIoFileSystemAccess fileAccess;
+
+ protected void runGenerator(String string) {
+ // load the resource
+ ResourceSet set = resourceSetProvider.get();
+ Resource resource = set.getResource(URI.createURI(string), true);
+
+ // validate the resource
+ List<Issue> list = validator.validate(resource, CheckMode.ALL, CancelIndicator.NullImpl);
+ if (!list.isEmpty()) {
+ for (Issue issue : list) {
+ System.err.println(issue);
+ }
+ return;
+ }
+
+ // configure and start the generator
+ fileAccess.setOutputPath("src-gen/");
+ generator.doGenerate(resource, fileAccess);
+
+ System.out.println("Code generation finished.");
+ }
+}
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src/org/eclipse/e4/scoping/CSSScopeProvider.java b/bundles/org.eclipse.e4.tools.css.editor/src/org/eclipse/e4/scoping/CSSScopeProvider.java
new file mode 100644
index 00000000..04715995
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src/org/eclipse/e4/scoping/CSSScopeProvider.java
@@ -0,0 +1,17 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.e4.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 CSSScopeProvider extends AbstractDeclarativeScopeProvider {
+
+}
diff --git a/bundles/org.eclipse.e4.tools.css.editor/src/org/eclipse/e4/validation/CSSJavaValidator.java b/bundles/org.eclipse.e4.tools.css.editor/src/org/eclipse/e4/validation/CSSJavaValidator.java
new file mode 100644
index 00000000..df71b947
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/src/org/eclipse/e4/validation/CSSJavaValidator.java
@@ -0,0 +1,13 @@
+package org.eclipse.e4.validation;
+
+
+public class CSSJavaValidator extends AbstractCSSJavaValidator {
+
+// @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/bundles/org.eclipse.e4.tools.css.editor/xtend-gen/org/eclipse/e4/generator/CSSGenerator.java b/bundles/org.eclipse.e4.tools.css.editor/xtend-gen/org/eclipse/e4/generator/CSSGenerator.java
new file mode 100644
index 00000000..2e289942
--- /dev/null
+++ b/bundles/org.eclipse.e4.tools.css.editor/xtend-gen/org/eclipse/e4/generator/CSSGenerator.java
@@ -0,0 +1,12 @@
+package org.eclipse.e4.generator;
+
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.xtext.generator.IFileSystemAccess;
+import org.eclipse.xtext.generator.IGenerator;
+
+@SuppressWarnings("all")
+public class CSSGenerator implements IGenerator {
+
+ public void doGenerate(final Resource resource, final IFileSystemAccess fsa) {
+ }
+} \ No newline at end of file

Back to the top