Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcletavernie2012-04-02 09:33:55 +0000
committercletavernie2012-04-02 09:33:55 +0000
commitfa9ef7d0c0097a84db45eae35d8089e2890379ad (patch)
treebbbed106dabcde3d51553ceb7b005c7b5937685a /plugins
parent673f2e8ad12632562696ddcb3763ecca2aa47c9d (diff)
downloadorg.eclipse.papyrus-fa9ef7d0c0097a84db45eae35d8089e2890379ad.tar.gz
org.eclipse.papyrus-fa9ef7d0c0097a84db45eae35d8089e2890379ad.tar.xz
org.eclipse.papyrus-fa9ef7d0c0097a84db45eae35d8089e2890379ad.zip
370797: [Theme] Papyrus should provide a support for CSS files on its diagrams
https://bugs.eclipse.org/bugs/show_bug.cgi?id=370797
Diffstat (limited to 'plugins')
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/.antlr-generator-3.2.0.jarbin0 -> 1482584 bytes
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/.classpath9
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/.launch/Generate Language Infrastructure (org.eclipse.papyrus.infra.gmfdiag.css.xtext).launch18
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/.project34
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/META-INF/MANIFEST.MF35
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/about.html28
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/build.properties9
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/plugin.xml17
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/plugin.xml_gen17
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/AbstractCSSRuntimeModule.java174
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/CSS.ecore174
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/CSS.genmodel155
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/CSS.xmi934
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/CSSStandaloneSetupGenerated.java51
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/ATTRIBUTE_OP.java250
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Angle.java104
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Attribute.java77
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/AttributeValue.java81
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/CSSId.java50
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Class.java50
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Combinator.java54
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/CompositeSelector.java104
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Content.java19
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/CssFactory.java349
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/CssPackage.java3333
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Declaration.java105
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Ems.java104
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Expression.java70
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Exs.java104
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Frequency.java104
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Function.java77
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/HexColor.java50
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Import.java97
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/KIND.java223
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Length.java104
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Media.java58
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Name.java50
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Number.java77
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Page.java68
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Percentage.java104
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Pseudo.java77
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/PseudoPage.java51
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Ruleset.java58
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Selector.java19
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/SelectorCondition.java19
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/SimpleSelector.java68
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/StringValue.java50
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Stylesheet.java87
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Subterm.java78
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Term.java19
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Time.java104
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/UNARY.java223
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/UnaryOperator.java54
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Uri.java50
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/AngleImpl.java320
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/AttributeImpl.java264
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/AttributeValueImpl.java234
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/CSSIdImpl.java176
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/ClassImpl.java175
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/CombinatorImpl.java178
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/CompositeSelectorImpl.java337
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/ContentImpl.java44
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/CssFactoryImpl.java660
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/CssPackageImpl.java1781
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/DeclarationImpl.java321
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/EmsImpl.java320
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/ExpressionImpl.java241
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/ExsImpl.java320
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/FrequencyImpl.java320
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/FunctionImpl.java264
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/HexColorImpl.java176
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/ImportImpl.java310
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/LengthImpl.java320
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/MediaImpl.java219
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/NameImpl.java176
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/NumberImpl.java263
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/PageImpl.java240
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/PercentageImpl.java320
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/PseudoImpl.java232
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/PseudoPageImpl.java177
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/RulesetImpl.java204
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/SelectorConditionImpl.java44
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/SelectorImpl.java44
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/SimpleSelectorImpl.java239
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/StringValueImpl.java176
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/StylesheetImpl.java279
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/SubtermImpl.java265
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/TermImpl.java44
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/TimeImpl.java320
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/UnaryOperatorImpl.java178
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/UriImpl.java176
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/util/CssAdapterFactory.java845
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/util/CssSwitch.java956
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/CSSAntlrTokenFileProvider.java15
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/CSSParser.java39
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g2794
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.tokens62
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSSLexer.java2135
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSSParser.java8335
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/serializer/AbstractCSSSemanticSequencer.java638
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/serializer/AbstractCSSSyntacticSequencer.java557
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/services/CSSGrammarAccess.java2244
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/validation/AbstractCSSJavaValidator.java18
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/CSS.xtext208
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/CSSRuntimeModule.java18
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/CSSStandaloneSetup.java14
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/GenerateCSS.mwe2138
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/converter/CSSTerminalConverter.java64
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/formatting/CSSFormatter.java103
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/generator/CSSGenerator.xtend15
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/scoping/CSSScopeProvider.java17
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/validation/CSSJavaValidator.java63
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/xtend-gen/org/eclipse/papyrus/infra/gmfdiag/generator/CSSGenerator.java11
113 files changed, 38124 insertions, 0 deletions
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/.antlr-generator-3.2.0.jar b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/.antlr-generator-3.2.0.jar
new file mode 100644
index 00000000000..42434924055
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/.antlr-generator-3.2.0.jar
Binary files differ
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/.classpath b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/.classpath
new file mode 100644
index 00000000000..3f1be502857
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/.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/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/.launch/Generate Language Infrastructure (org.eclipse.papyrus.infra.gmfdiag.css.xtext).launch b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/.launch/Generate Language Infrastructure (org.eclipse.papyrus.infra.gmfdiag.css.xtext).launch
new file mode 100644
index 00000000000..f6cffeb98c9
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/.launch/Generate Language Infrastructure (org.eclipse.papyrus.infra.gmfdiag.css.xtext).launch
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.emf.mwe2.launch.Mwe2LaunchConfigurationType">
+<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; id=&quot;1299248699643_13&quot; label=&quot;working set&quot; name=&quot;working set&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.papyrus.infra.gmfdiag.css.xtext&quot; type=&quot;4&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.papyrus.infra.gmfdiag.css.xtext.generator&quot; type=&quot;4&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.papyrus.infra.gmfdiag.css.xtext.tests&quot; type=&quot;4&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.papyrus.infra.gmfdiag.css.xtext.ui&quot; type=&quot;4&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;}"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.papyrus.infra.gmfdiag.css.xtext"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="4"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
+<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="src/org/eclipse/papyrus/infra/gmfdiag/GenerateCSS.mwe2"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.papyrus.infra.gmfdiag.css.xtext"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx512m"/>
+</launchConfiguration>
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/.project b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/.project
new file mode 100644
index 00000000000..e91cc95a91f
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.infra.gmfdiag.css.xtext</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/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/META-INF/MANIFEST.MF b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..750340820db
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/META-INF/MANIFEST.MF
@@ -0,0 +1,35 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.eclipse.papyrus.infra.gmfdiag.css.xtext
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0
+Bundle-SymbolicName: org.eclipse.papyrus.infra.gmfdiag.css.xtext; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.eclipse.xtext;bundle-version="2.1.0";visibility:=reexport,
+ org.eclipse.xtext.xbase;bundle-version="2.1.0";resolution:=optional;visibility:=reexport,
+ org.apache.log4j;bundle-version="1.2.15",
+ org.apache.commons.logging;bundle-version="1.0.4";resolution:=optional,
+ 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,
+ org.eclipse.core.commands;bundle-version="3.6.0"
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.papyrus.infra.gmfdiag,
+ org.eclipse.papyrus.infra.gmfdiag.services,
+ org.eclipse.papyrus.infra.gmfdiag.css,
+ org.eclipse.papyrus.infra.gmfdiag.css.impl,
+ org.eclipse.papyrus.infra.gmfdiag.css.util,
+ org.eclipse.papyrus.infra.gmfdiag.serializer,
+ org.eclipse.papyrus.infra.gmfdiag.parser.antlr,
+ org.eclipse.papyrus.infra.gmfdiag.parser.antlr.internal,
+ org.eclipse.papyrus.infra.gmfdiag.validation,
+ org.eclipse.papyrus.infra.gmfdiag.scoping,
+ org.eclipse.papyrus.infra.gmfdiag.generator,
+ org.eclipse.papyrus.infra.gmfdiag.formatting
+
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/about.html b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/about.html
new file mode 100644
index 00000000000..209103075a7
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>November 14, 2008</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/build.properties b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/build.properties
new file mode 100644
index 00000000000..2ff830d312e
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/build.properties
@@ -0,0 +1,9 @@
+source.. = src/,\
+ src-gen/,\
+ xtend-gen/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml,\
+ about.html
+
+src.includes = about.html
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/plugin.xml b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/plugin.xml
new file mode 100644
index 00000000000..ce66ca337a8
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/plugin.xml
@@ -0,0 +1,17 @@
+<?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/papyrus/infra/gmfdiag/CSS"
+ class = "org.eclipse.papyrus.infra.gmfdiag.css.CssPackage"
+ genModel = "org/eclipse/papyrus/infra/gmfdiag/CSS.genmodel" />
+
+ </extension>
+
+
+
+
+</plugin>
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/plugin.xml_gen b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/plugin.xml_gen
new file mode 100644
index 00000000000..ce66ca337a8
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/plugin.xml_gen
@@ -0,0 +1,17 @@
+<?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/papyrus/infra/gmfdiag/CSS"
+ class = "org.eclipse.papyrus.infra.gmfdiag.css.CssPackage"
+ genModel = "org/eclipse/papyrus/infra/gmfdiag/CSS.genmodel" />
+
+ </extension>
+
+
+
+
+</plugin>
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/AbstractCSSRuntimeModule.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/AbstractCSSRuntimeModule.java
new file mode 100644
index 00000000000..8aaa9f3343e
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/AbstractCSSRuntimeModule.java
@@ -0,0 +1,174 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.papyrus.infra.gmfdiag;
+
+import java.util.Properties;
+
+import org.eclipse.xtext.Constants;
+import org.eclipse.xtext.service.DefaultRuntimeModule;
+
+import com.google.inject.Binder;
+import com.google.inject.name.Names;
+
+/**
+ * Manual modifications go to {org.eclipse.papyrus.infra.gmfdiag.CSSRuntimeModule}
+ */
+@SuppressWarnings("all")
+public abstract class AbstractCSSRuntimeModule extends DefaultRuntimeModule {
+
+ protected Properties properties = null;
+
+ @Override
+ public void configure(Binder binder) {
+ properties = tryBindProperties(binder, "org/eclipse/papyrus/infra/gmfdiag/CSS.properties");
+ super.configure(binder);
+ }
+
+ public void configureLanguageName(Binder binder) {
+ binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("org.eclipse.papyrus.infra.gmfdiag.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.papyrus.infra.gmfdiag.services.CSSGrammarAccess.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.serializer.SerializerFragment
+ public Class<? extends org.eclipse.xtext.serializer.sequencer.ISemanticSequencer> bindISemanticSequencer() {
+ return org.eclipse.papyrus.infra.gmfdiag.serializer.AbstractCSSSemanticSequencer.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.serializer.SerializerFragment
+ public Class<? extends org.eclipse.xtext.serializer.sequencer.ISyntacticSequencer> bindISyntacticSequencer() {
+ return org.eclipse.papyrus.infra.gmfdiag.serializer.AbstractCSSSyntacticSequencer.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.serializer.SerializerFragment
+ public Class<? extends org.eclipse.xtext.serializer.ISerializer> bindISerializer() {
+ return org.eclipse.xtext.serializer.impl.Serializer.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.IParser> bindIParser() {
+ return org.eclipse.papyrus.infra.gmfdiag.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.papyrus.infra.gmfdiag.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.papyrus.infra.gmfdiag.parser.antlr.internal.InternalCSSLexer.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public com.google.inject.Provider<org.eclipse.papyrus.infra.gmfdiag.parser.antlr.internal.InternalCSSLexer> provideInternalCSSLexer() {
+ return org.eclipse.xtext.parser.antlr.LexerProvider.create(org.eclipse.papyrus.infra.gmfdiag.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.papyrus.infra.gmfdiag.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.papyrus.infra.gmfdiag.validation.CSSJavaValidator> bindCSSJavaValidator() {
+ return org.eclipse.papyrus.infra.gmfdiag.validation.CSSJavaValidator.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
+ public Class<? extends org.eclipse.xtext.scoping.IScopeProvider> bindIScopeProvider() {
+ return org.eclipse.papyrus.infra.gmfdiag.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.papyrus.infra.gmfdiag.generator.CSSGenerator.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.formatting.FormatterFragment
+ public Class<? extends org.eclipse.xtext.formatting.IFormatter> bindIFormatter() {
+ return org.eclipse.papyrus.infra.gmfdiag.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/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/CSS.ecore b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/CSS.ecore
new file mode 100644
index 00000000000..b8ba08b9241
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/CSS.ecore
@@ -0,0 +1,174 @@
+<?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/papyrus/infra/gmfdiag/CSS"
+ nsPrefix="css">
+ <eClassifiers xsi:type="ecore:EClass" name="Stylesheet">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="charset" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="imports" upperBound="-1"
+ eType="#//Import" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="contents" upperBound="-1"
+ eType="#//Content" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Content"/>
+ <eClassifiers xsi:type="ecore:EClass" name="Import">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="string" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="uri" eType="#//Uri" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="media" unique="false" upperBound="-1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Media" eSuperTypes="#//Content">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="media" unique="false" upperBound="-1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="rules" upperBound="-1"
+ eType="#//Ruleset" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Page" eSuperTypes="#//Content">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="pseudo" eType="#//PseudoPage"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="declarations" upperBound="-1"
+ eType="#//Declaration" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PseudoPage">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Ruleset" eSuperTypes="#//Content">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="selectors" upperBound="-1"
+ eType="#//Selector" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="properties" upperBound="-1"
+ eType="#//Declaration" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Selector"/>
+ <eClassifiers xsi:type="ecore:EClass" name="CompositeSelector" eSuperTypes="#//Selector">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="left" eType="#//SimpleSelector"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="combinator" eType="#//Combinator"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//Selector"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SimpleSelector" eSuperTypes="#//Selector">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="elementName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="condition" upperBound="-1"
+ eType="#//SelectorCondition" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SelectorCondition"/>
+ <eClassifiers xsi:type="ecore:EClass" name="Combinator">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//KIND"/>
+ </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="expression" eType="#//Expression"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="important" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Expression">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="terms" eType="#//Term"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="subterms" upperBound="-1"
+ eType="#//Subterm" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Subterm">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="term" eType="#//Term" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Term"/>
+ <eClassifiers xsi:type="ecore:EClass" name="Function" eSuperTypes="#//Term">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="args" eType="#//Expression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Name" eSuperTypes="#//Term">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Number" eSuperTypes="#//Term">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="op" eType="#//UnaryOperator"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Percentage" eSuperTypes="#//Term">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="op" eType="#//UnaryOperator"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="unit" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Length" eSuperTypes="#//Term">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="op" eType="#//UnaryOperator"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="unit" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Ems" eSuperTypes="#//Term">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="op" eType="#//UnaryOperator"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="unit" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Exs" eSuperTypes="#//Term">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="op" eType="#//UnaryOperator"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="unit" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Angle" eSuperTypes="#//Term">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="op" eType="#//UnaryOperator"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="unit" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Time" eSuperTypes="#//Term">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="op" eType="#//UnaryOperator"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="unit" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Frequency" eSuperTypes="#//Term">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="op" eType="#//UnaryOperator"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="unit" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Uri" eSuperTypes="#//Term">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="StringValue" eSuperTypes="#//Term">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="HexColor" eSuperTypes="#//Term">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Class" eSuperTypes="#//SelectorCondition">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="class" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Attribute" eSuperTypes="#//SelectorCondition">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//AttributeValue"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AttributeValue">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" eType="#//ATTRIBUTE_OP"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Pseudo" eSuperTypes="#//SelectorCondition">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="pseudo" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="args" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="CSSId" eSuperTypes="#//SelectorCondition">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="UnaryOperator">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" eType="#//UNARY"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="UNARY">
+ <eLiterals name="NEG" literal="-"/>
+ <eLiterals name="PLUS" value="1" literal="+"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="KIND">
+ <eLiterals name="FIRST_CHILD" literal=">"/>
+ <eLiterals name="SIBLING" value="1" literal="+"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="ATTRIBUTE_OP">
+ <eLiterals name="EQUALS" literal="="/>
+ <eLiterals name="CONTAINS" value="1" literal="~="/>
+ <eLiterals name="UNEQUALS" value="2" literal="!="/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/CSS.genmodel b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/CSS.genmodel
new file mode 100644
index 00000000000..44d9b071329
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/CSS.genmodel
@@ -0,0 +1,155 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen"
+ editDirectory="/org.eclipse.papyrus.infra.gmfdiag.css.xtext.edit/src" editorDirectory="/org.eclipse.papyrus.infra.gmfdiag.css.xtext.editor/src"
+ modelPluginID="org.eclipse.papyrus.infra.gmfdiag.css.xtext" forceOverwrite="true"
+ modelName="CSS" updateClasspath="false" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
+ complianceLevel="5.0" copyrightFields="false" editPluginID="org.eclipse.papyrus.infra.gmfdiag.css.xtext.edit"
+ editorPluginID="org.eclipse.papyrus.infra.gmfdiag.css.xtext.editor">
+ <genPackages prefix="Css" basePackage="org.eclipse.papyrus.infra.gmfdiag" disposableProviderFactory="true"
+ ecorePackage="CSS.ecore#/">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="CSS.ecore#//UNARY">
+ <genEnumLiterals ecoreEnumLiteral="CSS.ecore#//UNARY/NEG"/>
+ <genEnumLiterals ecoreEnumLiteral="CSS.ecore#//UNARY/PLUS"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="CSS.ecore#//KIND">
+ <genEnumLiterals ecoreEnumLiteral="CSS.ecore#//KIND/FIRST_CHILD"/>
+ <genEnumLiterals ecoreEnumLiteral="CSS.ecore#//KIND/SIBLING"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="CSS.ecore#//ATTRIBUTE_OP">
+ <genEnumLiterals ecoreEnumLiteral="CSS.ecore#//ATTRIBUTE_OP/EQUALS"/>
+ <genEnumLiterals ecoreEnumLiteral="CSS.ecore#//ATTRIBUTE_OP/CONTAINS"/>
+ <genEnumLiterals ecoreEnumLiteral="CSS.ecore#//ATTRIBUTE_OP/UNEQUALS"/>
+ </genEnums>
+ <genClasses ecoreClass="CSS.ecore#//Stylesheet">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Stylesheet/charset"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Stylesheet/imports"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Stylesheet/contents"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Content"/>
+ <genClasses ecoreClass="CSS.ecore#//Import">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Import/string"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Import/uri"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Import/media"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Media">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Media/media"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Media/rules"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Page">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Page/pseudo"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Page/declarations"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//PseudoPage">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//PseudoPage/id"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Ruleset">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Ruleset/selectors"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Ruleset/properties"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Selector"/>
+ <genClasses ecoreClass="CSS.ecore#//CompositeSelector">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//CompositeSelector/left"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//CompositeSelector/combinator"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//CompositeSelector/right"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//SimpleSelector">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//SimpleSelector/elementName"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//SimpleSelector/condition"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//SelectorCondition"/>
+ <genClasses ecoreClass="CSS.ecore#//Combinator">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Combinator/kind"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Declaration">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Declaration/property"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Declaration/expression"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Declaration/important"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Expression">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Expression/terms"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Expression/subterms"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Subterm">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Subterm/operator"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Subterm/term"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Term"/>
+ <genClasses ecoreClass="CSS.ecore#//Function">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Function/name"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Function/args"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Name">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Name/value"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Number">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Number/op"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Number/value"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Percentage">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Percentage/op"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Percentage/value"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Percentage/unit"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Length">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Length/op"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Length/value"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Length/unit"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Ems">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Ems/op"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Ems/value"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Ems/unit"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Exs">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Exs/op"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Exs/value"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Exs/unit"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Angle">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Angle/op"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Angle/value"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Angle/unit"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Time">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Time/op"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Time/value"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Time/unit"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Frequency">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Frequency/op"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Frequency/value"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Frequency/unit"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Uri">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Uri/value"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//StringValue">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//StringValue/value"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//HexColor">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//HexColor/value"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Class">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Class/class"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Attribute">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Attribute/name"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Attribute/value"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//AttributeValue">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//AttributeValue/operator"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//AttributeValue/value"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Pseudo">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Pseudo/pseudo"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Pseudo/args"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//CSSId">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//CSSId/value"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//UnaryOperator">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//UnaryOperator/operator"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/CSS.xmi b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/CSS.xmi
new file mode 100644
index 00000000000..822fab0c9c0
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/CSS.xmi
@@ -0,0 +1,934 @@
+<?xml version="1.0" encoding="ASCII"?>
+<xtext:Grammar 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" name="org.eclipse.papyrus.infra.gmfdiag.CSS" definesHiddenTokens="true" hiddenTokens="//@rules.54">
+ <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="ecore">
+ <ePackage href="http://www.eclipse.org/emf/2002/Ecore#/"/>
+ </metamodelDeclarations>
+ <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="css">
+ <ePackage href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#/"/>
+ </metamodelDeclarations>
+ <rules xsi:type="xtext:ParserRule" name="Stylesheet">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Stylesheet"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="@charset "/>
+ <elements xsi:type="xtext:Assignment" feature="charset" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.51"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=";"/>
+ </elements>
+ <elements xsi:type="xtext:Alternatives" cardinality="*">
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.55"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.52"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.53"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Assignment" feature="imports" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.2"/>
+ </elements>
+ <elements xsi:type="xtext:Alternatives" cardinality="*">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.52"/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.53"/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ </elements>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Assignment" feature="contents" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.1"/>
+ </elements>
+ <elements xsi:type="xtext:Alternatives" cardinality="*">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.52"/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.53"/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ </elements>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Content">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Content"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.6"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.3"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.4"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Import">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Import"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="@import"/>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Assignment" feature="string" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.51"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Assignment" feature="uri" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.26"/>
+ </elements>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Assignment" feature="media" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.50"/>
+ </elements>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value=","/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Assignment" feature="media" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.50"/>
+ </elements>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=";"/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Media">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Media"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="@media"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Assignment" feature="media" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.50"/>
+ </elements>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value=","/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Assignment" feature="media" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.50"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="{"/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Assignment" cardinality="*" feature="rules" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.6"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="}"/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Page">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Page"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Action">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Page"/>
+ </type>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="@page"/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="pseudo" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.5"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="{"/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="declarations" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.12"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value=";"/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="declarations" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.12"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="}"/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="PseudoPage">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//PseudoPage"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value=":"/>
+ <elements xsi:type="xtext:Assignment" feature="id" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.50"/>
+ </elements>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Ruleset">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Ruleset"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="selectors" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.7"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value=","/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Assignment" feature="selectors" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.7"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="{"/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="properties" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.12"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value=";"/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="properties" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.12"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="}"/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Selector">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Selector"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.9"/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ </elements>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.8"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="CompositeSelector">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//CompositeSelector"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="left" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.9"/>
+ </elements>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:RuleCall" cardinality="+" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Assignment" feature="combinator" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.11"/>
+ </elements>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="right" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.7"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="SimpleSelector">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//SimpleSelector"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="elementName" operator="=">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.50"/>
+ <elements xsi:type="xtext:Keyword" value="*"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Assignment" cardinality="*" feature="condition" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.10"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Assignment" cardinality="+" feature="condition" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.10"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="SelectorCondition">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//SelectorCondition"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.34"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.30"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.31"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.33"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Combinator">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Combinator"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="kind" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.37"/>
+ </elements>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Declaration">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Declaration"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="property" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.50"/>
+ </elements>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Keyword" value=":"/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Assignment" feature="expression" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.13"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Assignment" feature="important" operator="?=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.41"/>
+ </elements>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Expression">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Expression"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="terms" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.15"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" cardinality="*" feature="subterms" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.14"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Subterm">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Subterm"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="operator" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.29"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="term" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.15"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Term">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Term"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.18"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.19"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.20"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.21"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.22"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.23"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.24"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.25"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.17"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.27"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.26"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.28"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.16"/>
+ </elements>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Function">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Function"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="name" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.50"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="("/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Assignment" feature="args" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.13"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Name">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Name"/>
+ </type>
+ <alternatives xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.50"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Number">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Number"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="op" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.35"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.49"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Percentage">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Percentage"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="op" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.35"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.49"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="unit" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.42"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Length">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Length"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="op" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.35"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.49"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="unit" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.43"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Ems">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Ems"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="op" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.35"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.49"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="unit" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.44"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Exs">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Exs"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="op" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.35"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.49"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="unit" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.45"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Angle">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Angle"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="op" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.35"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.49"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="unit" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.46"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Time">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Time"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="op" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.35"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.49"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="unit" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.47"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Frequency">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Frequency"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="op" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.35"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.49"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="unit" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.48"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Uri">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Uri"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="url("/>
+ <elements xsi:type="xtext:RuleCall" cardinality="?" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.51"/>
+ </elements>
+ <elements xsi:type="xtext:RuleCall" cardinality="?" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="StringValue">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//StringValue"/>
+ </type>
+ <alternatives xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.51"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="HexColor">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//HexColor"/>
+ </type>
+ <alternatives xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.39"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Operator">
+ <type metamodel="//@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="/"/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value=","/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Class">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Class"/>
+ </type>
+ <alternatives xsi:type="xtext:Assignment" feature="class" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.40"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Attribute">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Attribute"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="["/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Assignment" feature="name" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.50"/>
+ </elements>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.32"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="]"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="AttributeValue">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//AttributeValue"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="operator" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.38"/>
+ </elements>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.50"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.51"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Pseudo">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Pseudo"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value=":"/>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Assignment" feature="pseudo" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.50"/>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="pseudo" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.50"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="("/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Assignment" feature="args" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.50"/>
+ </elements>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="CSSId">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//CSSId"/>
+ </type>
+ <alternatives xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.39"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="UnaryOperator">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//UnaryOperator"/>
+ </type>
+ <alternatives xsi:type="xtext:Assignment" feature="operator" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.36"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:EnumRule" name="UNARY">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EEnum" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//UNARY"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//UNARY/NEG"/>
+ <literal value="-"/>
+ </elements>
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//UNARY/PLUS"/>
+ <literal value="+"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:EnumRule" name="KIND">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EEnum" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//KIND"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//KIND/FIRST_CHILD"/>
+ <literal value=">"/>
+ </elements>
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//KIND/SIBLING"/>
+ <literal value="+"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:EnumRule" name="ATTRIBUTE_OP">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EEnum" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//ATTRIBUTE_OP"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//ATTRIBUTE_OP/EQUALS"/>
+ <literal value="="/>
+ </elements>
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//ATTRIBUTE_OP/CONTAINS"/>
+ <literal value="~="/>
+ </elements>
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//ATTRIBUTE_OP/UNEQUALS"/>
+ <literal value="!="/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="HASH">
+ <type metamodel="//@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="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:TerminalRule" name="T_CLASS">
+ <type metamodel="//@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:RuleCall" rule="//@rules.50"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="T_IMPORTANT">
+ <type metamodel="//@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Keyword" value="!important"/>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="PC_UNIT">
+ <type metamodel="//@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Keyword" value="%"/>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="LEN_UNIT">
+ <type metamodel="//@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="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"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="EM_UNIT">
+ <type metamodel="//@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Keyword" value="em"/>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="EX_UNIT">
+ <type metamodel="//@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Keyword" value="ex"/>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="ANGLE_UNIT">
+ <type metamodel="//@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="deg"/>
+ <elements xsi:type="xtext:Keyword" value="rad"/>
+ <elements xsi:type="xtext:Keyword" value="grad"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="TIME_UNIT">
+ <type metamodel="//@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="s"/>
+ <elements xsi:type="xtext:Keyword" value="ms"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="FREQ_UNIT">
+ <type metamodel="//@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="hz"/>
+ <elements xsi:type="xtext:Keyword" value="mhz"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="T_NUM">
+ <type metamodel="//@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:CharacterRange" cardinality="+">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:CharacterRange" cardinality="*">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="."/>
+ <elements xsi:type="xtext:CharacterRange" cardinality="+">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="ID">
+ <type metamodel="//@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: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="STRING">
+ <type metamodel="//@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="CDO">
+ <type metamodel="//@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Keyword" value="&lt;!--"/>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="CDC">
+ <type metamodel="//@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Keyword" value="-->"/>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="ML_COMMENT">
+ <type metamodel="//@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="WS">
+ <type metamodel="//@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="//@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>
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/CSSStandaloneSetupGenerated.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/CSSStandaloneSetupGenerated.java
new file mode 100644
index 00000000000..85a2da23684
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/CSSStandaloneSetupGenerated.java
@@ -0,0 +1,51 @@
+package org.eclipse.papyrus.infra.gmfdiag;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.xtext.ISetup;
+
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+
+/**
+ * Generated from StandaloneSetup.xpt!
+ */
+@SuppressWarnings("all")
+public class CSSStandaloneSetupGenerated implements ISetup {
+
+ public Injector createInjectorAndDoEMFRegistration() {
+ // register default ePackages
+ if(!Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().containsKey("ecore")) {
+ Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("ecore", new org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl());
+ }
+ if(!Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().containsKey("xmi")) {
+ Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("xmi", new org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl());
+ }
+ if(!EPackage.Registry.INSTANCE.containsKey(org.eclipse.xtext.XtextPackage.eNS_URI)) {
+ EPackage.Registry.INSTANCE.put(org.eclipse.xtext.XtextPackage.eNS_URI, org.eclipse.xtext.XtextPackage.eINSTANCE);
+ }
+
+ Injector injector = createInjector();
+ register(injector);
+ return injector;
+ }
+
+ public Injector createInjector() {
+ return Guice.createInjector(new org.eclipse.papyrus.infra.gmfdiag.CSSRuntimeModule());
+ }
+
+ public void register(Injector injector) {
+ if(!EPackage.Registry.INSTANCE.containsKey("http://www.eclipse.org/papyrus/infra/gmfdiag/CSS")) {
+ EPackage.Registry.INSTANCE.put("http://www.eclipse.org/papyrus/infra/gmfdiag/CSS", org.eclipse.papyrus.infra.gmfdiag.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/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/ATTRIBUTE_OP.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/ATTRIBUTE_OP.java
new file mode 100644
index 00000000000..7b00fc4e00e
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/ATTRIBUTE_OP.java
@@ -0,0 +1,250 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>ATTRIBUTE OP</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getATTRIBUTE_OP()
+ * @model
+ * @generated
+ */
+public enum ATTRIBUTE_OP implements Enumerator
+{
+ /**
+ * The '<em><b>EQUALS</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #EQUALS_VALUE
+ * @generated
+ * @ordered
+ */
+ EQUALS(0, "EQUALS", "="),
+
+ /**
+ * The '<em><b>CONTAINS</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #CONTAINS_VALUE
+ * @generated
+ * @ordered
+ */
+ CONTAINS(1, "CONTAINS", "~="),
+
+ /**
+ * The '<em><b>UNEQUALS</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #UNEQUALS_VALUE
+ * @generated
+ * @ordered
+ */
+ UNEQUALS(2, "UNEQUALS", "!=");
+
+ /**
+ * The '<em><b>EQUALS</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>EQUALS</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #EQUALS
+ * @model literal="="
+ * @generated
+ * @ordered
+ */
+ public static final int EQUALS_VALUE = 0;
+
+ /**
+ * The '<em><b>CONTAINS</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>CONTAINS</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #CONTAINS
+ * @model literal="~="
+ * @generated
+ * @ordered
+ */
+ public static final int CONTAINS_VALUE = 1;
+
+ /**
+ * The '<em><b>UNEQUALS</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>UNEQUALS</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #UNEQUALS
+ * @model literal="!="
+ * @generated
+ * @ordered
+ */
+ public static final int UNEQUALS_VALUE = 2;
+
+ /**
+ * An array of all the '<em><b>ATTRIBUTE OP</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final ATTRIBUTE_OP[] VALUES_ARRAY =
+ new ATTRIBUTE_OP[]
+ {
+ EQUALS,
+ CONTAINS,
+ UNEQUALS,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>ATTRIBUTE OP</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<ATTRIBUTE_OP> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>ATTRIBUTE OP</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ATTRIBUTE_OP get(String literal)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ ATTRIBUTE_OP result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>ATTRIBUTE OP</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ATTRIBUTE_OP getByName(String name)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ ATTRIBUTE_OP result = VALUES_ARRAY[i];
+ if (result.getName().equals(name))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>ATTRIBUTE OP</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ATTRIBUTE_OP get(int value)
+ {
+ switch (value)
+ {
+ case EQUALS_VALUE: return EQUALS;
+ case CONTAINS_VALUE: return CONTAINS;
+ case UNEQUALS_VALUE: return UNEQUALS;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private ATTRIBUTE_OP(int value, String name, String literal)
+ {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral()
+ {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ return literal;
+ }
+
+} //ATTRIBUTE_OP
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Angle.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Angle.java
new file mode 100644
index 00000000000..3530d3da67b
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Angle.java
@@ -0,0 +1,104 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Angle</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Angle#getOp <em>Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Angle#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Angle#getUnit <em>Unit</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getAngle()
+ * @model
+ * @generated
+ */
+public interface Angle extends Term
+{
+ /**
+ * Returns the value of the '<em><b>Op</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Op</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>Op</em>' containment reference.
+ * @see #setOp(UnaryOperator)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getAngle_Op()
+ * @model containment="true"
+ * @generated
+ */
+ UnaryOperator getOp();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Angle#getOp <em>Op</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Op</em>' containment reference.
+ * @see #getOp()
+ * @generated
+ */
+ void setOp(UnaryOperator value);
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getAngle_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Angle#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+ /**
+ * Returns the value of the '<em><b>Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Unit</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Unit</em>' attribute.
+ * @see #setUnit(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getAngle_Unit()
+ * @model
+ * @generated
+ */
+ String getUnit();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Angle#getUnit <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Unit</em>' attribute.
+ * @see #getUnit()
+ * @generated
+ */
+ void setUnit(String value);
+
+} // Angle
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Attribute.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Attribute.java
new file mode 100644
index 00000000000..c3256f2820e
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Attribute.java
@@ -0,0 +1,77 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Attribute</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Attribute#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Attribute#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getAttribute()
+ * @model
+ * @generated
+ */
+public interface Attribute extends SelectorCondition
+{
+ /**
+ * 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.papyrus.infra.gmfdiag.css.CssPackage#getAttribute_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Attribute#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>Value</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' containment reference.
+ * @see #setValue(AttributeValue)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getAttribute_Value()
+ * @model containment="true"
+ * @generated
+ */
+ AttributeValue getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Attribute#getValue <em>Value</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' containment reference.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(AttributeValue value);
+
+} // Attribute
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/AttributeValue.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/AttributeValue.java
new file mode 100644
index 00000000000..7648b391b65
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/AttributeValue.java
@@ -0,0 +1,81 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Attribute Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.AttributeValue#getOperator <em>Operator</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.AttributeValue#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getAttributeValue()
+ * @model
+ * @generated
+ */
+public interface AttributeValue extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Operator</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.infra.gmfdiag.css.ATTRIBUTE_OP}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Operator</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Operator</em>' attribute.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.ATTRIBUTE_OP
+ * @see #setOperator(ATTRIBUTE_OP)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getAttributeValue_Operator()
+ * @model
+ * @generated
+ */
+ ATTRIBUTE_OP getOperator();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.AttributeValue#getOperator <em>Operator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Operator</em>' attribute.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.ATTRIBUTE_OP
+ * @see #getOperator()
+ * @generated
+ */
+ void setOperator(ATTRIBUTE_OP value);
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getAttributeValue_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.AttributeValue#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+} // AttributeValue
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/CSSId.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/CSSId.java
new file mode 100644
index 00000000000..9a038d1a411
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/CSSId.java
@@ -0,0 +1,50 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>CSS Id</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.CSSId#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getCSSId()
+ * @model
+ * @generated
+ */
+public interface CSSId extends SelectorCondition
+{
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getCSSId_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.CSSId#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+} // CSSId
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Class.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Class.java
new file mode 100644
index 00000000000..325cc19e399
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Class.java
@@ -0,0 +1,50 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Class</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Class#getClass_ <em>Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getClass_()
+ * @model
+ * @generated
+ */
+public interface Class extends SelectorCondition
+{
+ /**
+ * Returns the value of the '<em><b>Class</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Class</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Class</em>' attribute.
+ * @see #setClass(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getClass_Class()
+ * @model
+ * @generated
+ */
+ String getClass_();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Class#getClass_ <em>Class</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Class</em>' attribute.
+ * @see #getClass_()
+ * @generated
+ */
+ void setClass(String value);
+
+} // Class
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Combinator.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Combinator.java
new file mode 100644
index 00000000000..1e84984c2c1
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Combinator.java
@@ -0,0 +1,54 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Combinator</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Combinator#getKind <em>Kind</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getCombinator()
+ * @model
+ * @generated
+ */
+public interface Combinator extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Kind</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.infra.gmfdiag.css.KIND}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Kind</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Kind</em>' attribute.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.KIND
+ * @see #setKind(KIND)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getCombinator_Kind()
+ * @model
+ * @generated
+ */
+ KIND getKind();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Combinator#getKind <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Kind</em>' attribute.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.KIND
+ * @see #getKind()
+ * @generated
+ */
+ void setKind(KIND value);
+
+} // Combinator
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/CompositeSelector.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/CompositeSelector.java
new file mode 100644
index 00000000000..ab0db7689a6
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/CompositeSelector.java
@@ -0,0 +1,104 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Composite Selector</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.CompositeSelector#getLeft <em>Left</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.CompositeSelector#getCombinator <em>Combinator</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.CompositeSelector#getRight <em>Right</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getCompositeSelector()
+ * @model
+ * @generated
+ */
+public interface CompositeSelector extends Selector
+{
+ /**
+ * Returns the value of the '<em><b>Left</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Left</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Left</em>' containment reference.
+ * @see #setLeft(SimpleSelector)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getCompositeSelector_Left()
+ * @model containment="true"
+ * @generated
+ */
+ SimpleSelector getLeft();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.CompositeSelector#getLeft <em>Left</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Left</em>' containment reference.
+ * @see #getLeft()
+ * @generated
+ */
+ void setLeft(SimpleSelector value);
+
+ /**
+ * Returns the value of the '<em><b>Combinator</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Combinator</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>Combinator</em>' containment reference.
+ * @see #setCombinator(Combinator)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getCompositeSelector_Combinator()
+ * @model containment="true"
+ * @generated
+ */
+ Combinator getCombinator();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.CompositeSelector#getCombinator <em>Combinator</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Combinator</em>' containment reference.
+ * @see #getCombinator()
+ * @generated
+ */
+ void setCombinator(Combinator value);
+
+ /**
+ * Returns the value of the '<em><b>Right</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Right</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Right</em>' containment reference.
+ * @see #setRight(Selector)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getCompositeSelector_Right()
+ * @model containment="true"
+ * @generated
+ */
+ Selector getRight();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.CompositeSelector#getRight <em>Right</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Right</em>' containment reference.
+ * @see #getRight()
+ * @generated
+ */
+ void setRight(Selector value);
+
+} // CompositeSelector
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Content.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Content.java
new file mode 100644
index 00000000000..d0159846fb9
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Content.java
@@ -0,0 +1,19 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Content</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getContent()
+ * @model
+ * @generated
+ */
+public interface Content extends EObject
+{
+} // Content
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/CssFactory.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/CssFactory.java
new file mode 100644
index 00000000000..42b723ca301
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/CssFactory.java
@@ -0,0 +1,349 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.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.papyrus.infra.gmfdiag.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.papyrus.infra.gmfdiag.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>Content</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Content</em>'.
+ * @generated
+ */
+ Content createContent();
+
+ /**
+ * Returns a new object of class '<em>Import</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Import</em>'.
+ * @generated
+ */
+ Import createImport();
+
+ /**
+ * Returns a new object of class '<em>Media</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Media</em>'.
+ * @generated
+ */
+ Media createMedia();
+
+ /**
+ * Returns a new object of class '<em>Page</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Page</em>'.
+ * @generated
+ */
+ Page createPage();
+
+ /**
+ * Returns a new object of class '<em>Pseudo Page</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Pseudo Page</em>'.
+ * @generated
+ */
+ PseudoPage createPseudoPage();
+
+ /**
+ * Returns a new object of class '<em>Ruleset</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Ruleset</em>'.
+ * @generated
+ */
+ Ruleset createRuleset();
+
+ /**
+ * 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>Composite Selector</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Composite Selector</em>'.
+ * @generated
+ */
+ CompositeSelector createCompositeSelector();
+
+ /**
+ * 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
+ */
+ SimpleSelector createSimpleSelector();
+
+ /**
+ * Returns a new object of class '<em>Selector Condition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Selector Condition</em>'.
+ * @generated
+ */
+ SelectorCondition createSelectorCondition();
+
+ /**
+ * Returns a new object of class '<em>Combinator</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Combinator</em>'.
+ * @generated
+ */
+ Combinator createCombinator();
+
+ /**
+ * 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>Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Expression</em>'.
+ * @generated
+ */
+ Expression createExpression();
+
+ /**
+ * Returns a new object of class '<em>Subterm</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Subterm</em>'.
+ * @generated
+ */
+ Subterm createSubterm();
+
+ /**
+ * 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>Name</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Name</em>'.
+ * @generated
+ */
+ Name createName();
+
+ /**
+ * Returns a new object of class '<em>Number</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Number</em>'.
+ * @generated
+ */
+ Number createNumber();
+
+ /**
+ * Returns a new object of class '<em>Percentage</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Percentage</em>'.
+ * @generated
+ */
+ Percentage createPercentage();
+
+ /**
+ * Returns a new object of class '<em>Length</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Length</em>'.
+ * @generated
+ */
+ Length createLength();
+
+ /**
+ * Returns a new object of class '<em>Ems</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Ems</em>'.
+ * @generated
+ */
+ Ems createEms();
+
+ /**
+ * Returns a new object of class '<em>Exs</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Exs</em>'.
+ * @generated
+ */
+ Exs createExs();
+
+ /**
+ * Returns a new object of class '<em>Angle</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Angle</em>'.
+ * @generated
+ */
+ Angle createAngle();
+
+ /**
+ * Returns a new object of class '<em>Time</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Time</em>'.
+ * @generated
+ */
+ Time createTime();
+
+ /**
+ * Returns a new object of class '<em>Frequency</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Frequency</em>'.
+ * @generated
+ */
+ Frequency createFrequency();
+
+ /**
+ * 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>String Value</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>String Value</em>'.
+ * @generated
+ */
+ StringValue createStringValue();
+
+ /**
+ * Returns a new object of class '<em>Hex Color</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hex Color</em>'.
+ * @generated
+ */
+ HexColor createHexColor();
+
+ /**
+ * Returns a new object of class '<em>Class</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Class</em>'.
+ * @generated
+ */
+ Class createClass();
+
+ /**
+ * Returns a new object of class '<em>Attribute</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Attribute</em>'.
+ * @generated
+ */
+ Attribute createAttribute();
+
+ /**
+ * Returns a new object of class '<em>Attribute Value</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Attribute Value</em>'.
+ * @generated
+ */
+ AttributeValue createAttributeValue();
+
+ /**
+ * 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>CSS Id</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>CSS Id</em>'.
+ * @generated
+ */
+ CSSId createCSSId();
+
+ /**
+ * Returns a new object of class '<em>Unary Operator</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Unary Operator</em>'.
+ * @generated
+ */
+ UnaryOperator createUnaryOperator();
+
+ /**
+ * 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/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/CssPackage.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/CssPackage.java
new file mode 100644
index 00000000000..1d1ad5c6a76
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/CssPackage.java
@@ -0,0 +1,3333 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.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/papyrus/infra/gmfdiag/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.papyrus.infra.gmfdiag.css.impl.CssPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.StylesheetImpl <em>Stylesheet</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.StylesheetImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getStylesheet()
+ * @generated
+ */
+ int STYLESHEET = 0;
+
+ /**
+ * The feature id for the '<em><b>Charset</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STYLESHEET__CHARSET = 0;
+
+ /**
+ * The feature id for the '<em><b>Imports</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STYLESHEET__IMPORTS = 1;
+
+ /**
+ * The feature id for the '<em><b>Contents</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STYLESHEET__CONTENTS = 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.papyrus.infra.gmfdiag.css.impl.ContentImpl <em>Content</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.ContentImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getContent()
+ * @generated
+ */
+ int CONTENT = 1;
+
+ /**
+ * The number of structural features of the '<em>Content</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTENT_FEATURE_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.ImportImpl <em>Import</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.ImportImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getImport()
+ * @generated
+ */
+ int IMPORT = 2;
+
+ /**
+ * The feature id for the '<em><b>String</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPORT__STRING = 0;
+
+ /**
+ * The feature id for the '<em><b>Uri</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPORT__URI = 1;
+
+ /**
+ * The feature id for the '<em><b>Media</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPORT__MEDIA = 2;
+
+ /**
+ * The number of structural features of the '<em>Import</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPORT_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.MediaImpl <em>Media</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.MediaImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getMedia()
+ * @generated
+ */
+ int MEDIA = 3;
+
+ /**
+ * The feature id for the '<em><b>Media</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEDIA__MEDIA = CONTENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Rules</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEDIA__RULES = CONTENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Media</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEDIA_FEATURE_COUNT = CONTENT_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.PageImpl <em>Page</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.PageImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getPage()
+ * @generated
+ */
+ int PAGE = 4;
+
+ /**
+ * The feature id for the '<em><b>Pseudo</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PAGE__PSEUDO = CONTENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Declarations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PAGE__DECLARATIONS = CONTENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Page</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PAGE_FEATURE_COUNT = CONTENT_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.PseudoPageImpl <em>Pseudo Page</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.PseudoPageImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getPseudoPage()
+ * @generated
+ */
+ int PSEUDO_PAGE = 5;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PSEUDO_PAGE__ID = 0;
+
+ /**
+ * The number of structural features of the '<em>Pseudo Page</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PSEUDO_PAGE_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.RulesetImpl <em>Ruleset</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.RulesetImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getRuleset()
+ * @generated
+ */
+ int RULESET = 6;
+
+ /**
+ * The feature id for the '<em><b>Selectors</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RULESET__SELECTORS = CONTENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Properties</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RULESET__PROPERTIES = CONTENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Ruleset</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RULESET_FEATURE_COUNT = CONTENT_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.SelectorImpl <em>Selector</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.SelectorImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getSelector()
+ * @generated
+ */
+ int SELECTOR = 7;
+
+ /**
+ * The number of structural features of the '<em>Selector</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SELECTOR_FEATURE_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.CompositeSelectorImpl <em>Composite Selector</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CompositeSelectorImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getCompositeSelector()
+ * @generated
+ */
+ int COMPOSITE_SELECTOR = 8;
+
+ /**
+ * The feature id for the '<em><b>Left</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPOSITE_SELECTOR__LEFT = SELECTOR_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Combinator</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPOSITE_SELECTOR__COMBINATOR = SELECTOR_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Right</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPOSITE_SELECTOR__RIGHT = SELECTOR_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Composite Selector</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPOSITE_SELECTOR_FEATURE_COUNT = SELECTOR_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.SimpleSelectorImpl <em>Simple Selector</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.SimpleSelectorImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getSimpleSelector()
+ * @generated
+ */
+ int SIMPLE_SELECTOR = 9;
+
+ /**
+ * The feature id for the '<em><b>Element Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SIMPLE_SELECTOR__ELEMENT_NAME = SELECTOR_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Condition</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SIMPLE_SELECTOR__CONDITION = SELECTOR_FEATURE_COUNT + 1;
+
+ /**
+ * 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 = SELECTOR_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.SelectorConditionImpl <em>Selector Condition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.SelectorConditionImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getSelectorCondition()
+ * @generated
+ */
+ int SELECTOR_CONDITION = 10;
+
+ /**
+ * The number of structural features of the '<em>Selector Condition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SELECTOR_CONDITION_FEATURE_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.CombinatorImpl <em>Combinator</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CombinatorImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getCombinator()
+ * @generated
+ */
+ int COMBINATOR = 11;
+
+ /**
+ * The feature id for the '<em><b>Kind</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMBINATOR__KIND = 0;
+
+ /**
+ * The number of structural features of the '<em>Combinator</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMBINATOR_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.DeclarationImpl <em>Declaration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.DeclarationImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getDeclaration()
+ * @generated
+ */
+ int DECLARATION = 12;
+
+ /**
+ * 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>Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DECLARATION__EXPRESSION = 1;
+
+ /**
+ * The feature id for the '<em><b>Important</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DECLARATION__IMPORTANT = 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.papyrus.infra.gmfdiag.css.impl.ExpressionImpl <em>Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.ExpressionImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getExpression()
+ * @generated
+ */
+ int EXPRESSION = 13;
+
+ /**
+ * The feature id for the '<em><b>Terms</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION__TERMS = 0;
+
+ /**
+ * The feature id for the '<em><b>Subterms</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION__SUBTERMS = 1;
+
+ /**
+ * The number of structural features of the '<em>Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.SubtermImpl <em>Subterm</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.SubtermImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getSubterm()
+ * @generated
+ */
+ int SUBTERM = 14;
+
+ /**
+ * The feature id for the '<em><b>Operator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUBTERM__OPERATOR = 0;
+
+ /**
+ * The feature id for the '<em><b>Term</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUBTERM__TERM = 1;
+
+ /**
+ * The number of structural features of the '<em>Subterm</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUBTERM_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.TermImpl <em>Term</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.TermImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getTerm()
+ * @generated
+ */
+ int TERM = 15;
+
+ /**
+ * The number of structural features of the '<em>Term</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TERM_FEATURE_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.FunctionImpl <em>Function</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.FunctionImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getFunction()
+ * @generated
+ */
+ int FUNCTION = 16;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION__NAME = TERM_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Args</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION__ARGS = TERM_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Function</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_FEATURE_COUNT = TERM_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.NameImpl <em>Name</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.NameImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getName_()
+ * @generated
+ */
+ int NAME = 17;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAME__VALUE = TERM_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Name</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAME_FEATURE_COUNT = TERM_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.NumberImpl <em>Number</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.NumberImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getNumber()
+ * @generated
+ */
+ int NUMBER = 18;
+
+ /**
+ * The feature id for the '<em><b>Op</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NUMBER__OP = TERM_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NUMBER__VALUE = TERM_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Number</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NUMBER_FEATURE_COUNT = TERM_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.PercentageImpl <em>Percentage</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.PercentageImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getPercentage()
+ * @generated
+ */
+ int PERCENTAGE = 19;
+
+ /**
+ * The feature id for the '<em><b>Op</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERCENTAGE__OP = TERM_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERCENTAGE__VALUE = TERM_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERCENTAGE__UNIT = TERM_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Percentage</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERCENTAGE_FEATURE_COUNT = TERM_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.LengthImpl <em>Length</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.LengthImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getLength()
+ * @generated
+ */
+ int LENGTH = 20;
+
+ /**
+ * The feature id for the '<em><b>Op</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LENGTH__OP = TERM_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LENGTH__VALUE = TERM_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LENGTH__UNIT = TERM_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Length</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LENGTH_FEATURE_COUNT = TERM_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.EmsImpl <em>Ems</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.EmsImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getEms()
+ * @generated
+ */
+ int EMS = 21;
+
+ /**
+ * The feature id for the '<em><b>Op</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EMS__OP = TERM_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EMS__VALUE = TERM_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EMS__UNIT = TERM_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Ems</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EMS_FEATURE_COUNT = TERM_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.ExsImpl <em>Exs</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.ExsImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getExs()
+ * @generated
+ */
+ int EXS = 22;
+
+ /**
+ * The feature id for the '<em><b>Op</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXS__OP = TERM_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXS__VALUE = TERM_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXS__UNIT = TERM_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Exs</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXS_FEATURE_COUNT = TERM_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.AngleImpl <em>Angle</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.AngleImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getAngle()
+ * @generated
+ */
+ int ANGLE = 23;
+
+ /**
+ * The feature id for the '<em><b>Op</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANGLE__OP = TERM_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANGLE__VALUE = TERM_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANGLE__UNIT = TERM_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Angle</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANGLE_FEATURE_COUNT = TERM_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.TimeImpl <em>Time</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.TimeImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getTime()
+ * @generated
+ */
+ int TIME = 24;
+
+ /**
+ * The feature id for the '<em><b>Op</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIME__OP = TERM_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIME__VALUE = TERM_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIME__UNIT = TERM_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Time</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIME_FEATURE_COUNT = TERM_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.FrequencyImpl <em>Frequency</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.FrequencyImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getFrequency()
+ * @generated
+ */
+ int FREQUENCY = 25;
+
+ /**
+ * The feature id for the '<em><b>Op</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FREQUENCY__OP = TERM_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FREQUENCY__VALUE = TERM_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FREQUENCY__UNIT = TERM_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Frequency</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FREQUENCY_FEATURE_COUNT = TERM_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.UriImpl <em>Uri</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.UriImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getUri()
+ * @generated
+ */
+ int URI = 26;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int URI__VALUE = TERM_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Uri</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int URI_FEATURE_COUNT = TERM_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.StringValueImpl <em>String Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.StringValueImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getStringValue()
+ * @generated
+ */
+ int STRING_VALUE = 27;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRING_VALUE__VALUE = TERM_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>String Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRING_VALUE_FEATURE_COUNT = TERM_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.HexColorImpl <em>Hex Color</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.HexColorImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getHexColor()
+ * @generated
+ */
+ int HEX_COLOR = 28;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HEX_COLOR__VALUE = TERM_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Hex Color</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HEX_COLOR_FEATURE_COUNT = TERM_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.ClassImpl <em>Class</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.ClassImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getClass_()
+ * @generated
+ */
+ int CLASS = 29;
+
+ /**
+ * The feature id for the '<em><b>Class</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLASS__CLASS = SELECTOR_CONDITION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Class</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLASS_FEATURE_COUNT = SELECTOR_CONDITION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.AttributeImpl <em>Attribute</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.AttributeImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getAttribute()
+ * @generated
+ */
+ int ATTRIBUTE = 30;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ATTRIBUTE__NAME = SELECTOR_CONDITION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ATTRIBUTE__VALUE = SELECTOR_CONDITION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Attribute</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ATTRIBUTE_FEATURE_COUNT = SELECTOR_CONDITION_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.AttributeValueImpl <em>Attribute Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.AttributeValueImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getAttributeValue()
+ * @generated
+ */
+ int ATTRIBUTE_VALUE = 31;
+
+ /**
+ * The feature id for the '<em><b>Operator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ATTRIBUTE_VALUE__OPERATOR = 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ATTRIBUTE_VALUE__VALUE = 1;
+
+ /**
+ * The number of structural features of the '<em>Attribute Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ATTRIBUTE_VALUE_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.PseudoImpl <em>Pseudo</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.PseudoImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getPseudo()
+ * @generated
+ */
+ int PSEUDO = 32;
+
+ /**
+ * The feature id for the '<em><b>Pseudo</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PSEUDO__PSEUDO = SELECTOR_CONDITION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Args</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PSEUDO__ARGS = SELECTOR_CONDITION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Pseudo</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PSEUDO_FEATURE_COUNT = SELECTOR_CONDITION_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.CSSIdImpl <em>CSS Id</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CSSIdImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getCSSId()
+ * @generated
+ */
+ int CSS_ID = 33;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CSS_ID__VALUE = SELECTOR_CONDITION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>CSS Id</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CSS_ID_FEATURE_COUNT = SELECTOR_CONDITION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.UnaryOperatorImpl <em>Unary Operator</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.UnaryOperatorImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getUnaryOperator()
+ * @generated
+ */
+ int UNARY_OPERATOR = 34;
+
+ /**
+ * The feature id for the '<em><b>Operator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UNARY_OPERATOR__OPERATOR = 0;
+
+ /**
+ * The number of structural features of the '<em>Unary Operator</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UNARY_OPERATOR_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.UNARY <em>UNARY</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.UNARY
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getUNARY()
+ * @generated
+ */
+ int UNARY = 35;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.KIND <em>KIND</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.KIND
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getKIND()
+ * @generated
+ */
+ int KIND = 36;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.ATTRIBUTE_OP <em>ATTRIBUTE OP</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.ATTRIBUTE_OP
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getATTRIBUTE_OP()
+ * @generated
+ */
+ int ATTRIBUTE_OP = 37;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Stylesheet <em>Stylesheet</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Stylesheet</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Stylesheet
+ * @generated
+ */
+ EClass getStylesheet();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Stylesheet#getCharset <em>Charset</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Charset</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Stylesheet#getCharset()
+ * @see #getStylesheet()
+ * @generated
+ */
+ EAttribute getStylesheet_Charset();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.infra.gmfdiag.css.Stylesheet#getImports <em>Imports</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Imports</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Stylesheet#getImports()
+ * @see #getStylesheet()
+ * @generated
+ */
+ EReference getStylesheet_Imports();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.infra.gmfdiag.css.Stylesheet#getContents <em>Contents</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Contents</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Stylesheet#getContents()
+ * @see #getStylesheet()
+ * @generated
+ */
+ EReference getStylesheet_Contents();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Content <em>Content</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Content</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Content
+ * @generated
+ */
+ EClass getContent();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Import <em>Import</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Import</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Import
+ * @generated
+ */
+ EClass getImport();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Import#getString <em>String</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>String</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Import#getString()
+ * @see #getImport()
+ * @generated
+ */
+ EAttribute getImport_String();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.gmfdiag.css.Import#getUri <em>Uri</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Uri</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Import#getUri()
+ * @see #getImport()
+ * @generated
+ */
+ EReference getImport_Uri();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.infra.gmfdiag.css.Import#getMedia <em>Media</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Media</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Import#getMedia()
+ * @see #getImport()
+ * @generated
+ */
+ EAttribute getImport_Media();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Media <em>Media</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Media</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Media
+ * @generated
+ */
+ EClass getMedia();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.infra.gmfdiag.css.Media#getMedia <em>Media</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Media</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Media#getMedia()
+ * @see #getMedia()
+ * @generated
+ */
+ EAttribute getMedia_Media();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.infra.gmfdiag.css.Media#getRules <em>Rules</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Rules</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Media#getRules()
+ * @see #getMedia()
+ * @generated
+ */
+ EReference getMedia_Rules();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Page <em>Page</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Page</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Page
+ * @generated
+ */
+ EClass getPage();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.gmfdiag.css.Page#getPseudo <em>Pseudo</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Pseudo</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Page#getPseudo()
+ * @see #getPage()
+ * @generated
+ */
+ EReference getPage_Pseudo();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.infra.gmfdiag.css.Page#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.papyrus.infra.gmfdiag.css.Page#getDeclarations()
+ * @see #getPage()
+ * @generated
+ */
+ EReference getPage_Declarations();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.PseudoPage <em>Pseudo Page</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Pseudo Page</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.PseudoPage
+ * @generated
+ */
+ EClass getPseudoPage();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.PseudoPage#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.PseudoPage#getId()
+ * @see #getPseudoPage()
+ * @generated
+ */
+ EAttribute getPseudoPage_Id();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Ruleset <em>Ruleset</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Ruleset</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Ruleset
+ * @generated
+ */
+ EClass getRuleset();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.infra.gmfdiag.css.Ruleset#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.papyrus.infra.gmfdiag.css.Ruleset#getSelectors()
+ * @see #getRuleset()
+ * @generated
+ */
+ EReference getRuleset_Selectors();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.infra.gmfdiag.css.Ruleset#getProperties <em>Properties</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Properties</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Ruleset#getProperties()
+ * @see #getRuleset()
+ * @generated
+ */
+ EReference getRuleset_Properties();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Selector <em>Selector</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Selector</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Selector
+ * @generated
+ */
+ EClass getSelector();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.CompositeSelector <em>Composite Selector</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Composite Selector</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CompositeSelector
+ * @generated
+ */
+ EClass getCompositeSelector();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.gmfdiag.css.CompositeSelector#getLeft <em>Left</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Left</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CompositeSelector#getLeft()
+ * @see #getCompositeSelector()
+ * @generated
+ */
+ EReference getCompositeSelector_Left();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.gmfdiag.css.CompositeSelector#getCombinator <em>Combinator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Combinator</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CompositeSelector#getCombinator()
+ * @see #getCompositeSelector()
+ * @generated
+ */
+ EReference getCompositeSelector_Combinator();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.gmfdiag.css.CompositeSelector#getRight <em>Right</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Right</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CompositeSelector#getRight()
+ * @see #getCompositeSelector()
+ * @generated
+ */
+ EReference getCompositeSelector_Right();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.SimpleSelector <em>Simple Selector</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Simple Selector</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.SimpleSelector
+ * @generated
+ */
+ EClass getSimpleSelector();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.SimpleSelector#getElementName <em>Element Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Element Name</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.SimpleSelector#getElementName()
+ * @see #getSimpleSelector()
+ * @generated
+ */
+ EAttribute getSimpleSelector_ElementName();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.infra.gmfdiag.css.SimpleSelector#getCondition <em>Condition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Condition</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.SimpleSelector#getCondition()
+ * @see #getSimpleSelector()
+ * @generated
+ */
+ EReference getSimpleSelector_Condition();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.SelectorCondition <em>Selector Condition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Selector Condition</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.SelectorCondition
+ * @generated
+ */
+ EClass getSelectorCondition();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Combinator <em>Combinator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Combinator</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Combinator
+ * @generated
+ */
+ EClass getCombinator();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Combinator#getKind <em>Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Kind</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Combinator#getKind()
+ * @see #getCombinator()
+ * @generated
+ */
+ EAttribute getCombinator_Kind();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Declaration <em>Declaration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Declaration</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Declaration
+ * @generated
+ */
+ EClass getDeclaration();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.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.papyrus.infra.gmfdiag.css.Declaration#getProperty()
+ * @see #getDeclaration()
+ * @generated
+ */
+ EAttribute getDeclaration_Property();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.gmfdiag.css.Declaration#getExpression <em>Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Expression</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Declaration#getExpression()
+ * @see #getDeclaration()
+ * @generated
+ */
+ EReference getDeclaration_Expression();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Declaration#isImportant <em>Important</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Important</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Declaration#isImportant()
+ * @see #getDeclaration()
+ * @generated
+ */
+ EAttribute getDeclaration_Important();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Expression <em>Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Expression</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Expression
+ * @generated
+ */
+ EClass getExpression();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.gmfdiag.css.Expression#getTerms <em>Terms</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Terms</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Expression#getTerms()
+ * @see #getExpression()
+ * @generated
+ */
+ EReference getExpression_Terms();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.infra.gmfdiag.css.Expression#getSubterms <em>Subterms</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Subterms</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Expression#getSubterms()
+ * @see #getExpression()
+ * @generated
+ */
+ EReference getExpression_Subterms();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Subterm <em>Subterm</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Subterm</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Subterm
+ * @generated
+ */
+ EClass getSubterm();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Subterm#getOperator <em>Operator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Operator</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Subterm#getOperator()
+ * @see #getSubterm()
+ * @generated
+ */
+ EAttribute getSubterm_Operator();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.gmfdiag.css.Subterm#getTerm <em>Term</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Term</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Subterm#getTerm()
+ * @see #getSubterm()
+ * @generated
+ */
+ EReference getSubterm_Term();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Term <em>Term</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Term</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Term
+ * @generated
+ */
+ EClass getTerm();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Function <em>Function</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Function</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Function
+ * @generated
+ */
+ EClass getFunction();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.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.papyrus.infra.gmfdiag.css.Function#getName()
+ * @see #getFunction()
+ * @generated
+ */
+ EAttribute getFunction_Name();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.gmfdiag.css.Function#getArgs <em>Args</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Args</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Function#getArgs()
+ * @see #getFunction()
+ * @generated
+ */
+ EReference getFunction_Args();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Name <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Name</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Name
+ * @generated
+ */
+ EClass getName_();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Name#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Name#getValue()
+ * @see #getName_()
+ * @generated
+ */
+ EAttribute getName_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Number <em>Number</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Number</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Number
+ * @generated
+ */
+ EClass getNumber();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.gmfdiag.css.Number#getOp <em>Op</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Op</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Number#getOp()
+ * @see #getNumber()
+ * @generated
+ */
+ EReference getNumber_Op();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Number#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Number#getValue()
+ * @see #getNumber()
+ * @generated
+ */
+ EAttribute getNumber_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Percentage <em>Percentage</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Percentage</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Percentage
+ * @generated
+ */
+ EClass getPercentage();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.gmfdiag.css.Percentage#getOp <em>Op</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Op</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Percentage#getOp()
+ * @see #getPercentage()
+ * @generated
+ */
+ EReference getPercentage_Op();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Percentage#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Percentage#getValue()
+ * @see #getPercentage()
+ * @generated
+ */
+ EAttribute getPercentage_Value();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Percentage#getUnit <em>Unit</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Unit</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Percentage#getUnit()
+ * @see #getPercentage()
+ * @generated
+ */
+ EAttribute getPercentage_Unit();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Length <em>Length</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Length</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Length
+ * @generated
+ */
+ EClass getLength();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.gmfdiag.css.Length#getOp <em>Op</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Op</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Length#getOp()
+ * @see #getLength()
+ * @generated
+ */
+ EReference getLength_Op();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Length#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Length#getValue()
+ * @see #getLength()
+ * @generated
+ */
+ EAttribute getLength_Value();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Length#getUnit <em>Unit</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Unit</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Length#getUnit()
+ * @see #getLength()
+ * @generated
+ */
+ EAttribute getLength_Unit();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Ems <em>Ems</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Ems</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Ems
+ * @generated
+ */
+ EClass getEms();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.gmfdiag.css.Ems#getOp <em>Op</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Op</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Ems#getOp()
+ * @see #getEms()
+ * @generated
+ */
+ EReference getEms_Op();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Ems#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Ems#getValue()
+ * @see #getEms()
+ * @generated
+ */
+ EAttribute getEms_Value();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Ems#getUnit <em>Unit</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Unit</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Ems#getUnit()
+ * @see #getEms()
+ * @generated
+ */
+ EAttribute getEms_Unit();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Exs <em>Exs</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Exs</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Exs
+ * @generated
+ */
+ EClass getExs();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.gmfdiag.css.Exs#getOp <em>Op</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Op</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Exs#getOp()
+ * @see #getExs()
+ * @generated
+ */
+ EReference getExs_Op();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Exs#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Exs#getValue()
+ * @see #getExs()
+ * @generated
+ */
+ EAttribute getExs_Value();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Exs#getUnit <em>Unit</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Unit</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Exs#getUnit()
+ * @see #getExs()
+ * @generated
+ */
+ EAttribute getExs_Unit();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Angle <em>Angle</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Angle</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Angle
+ * @generated
+ */
+ EClass getAngle();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.gmfdiag.css.Angle#getOp <em>Op</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Op</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Angle#getOp()
+ * @see #getAngle()
+ * @generated
+ */
+ EReference getAngle_Op();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Angle#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Angle#getValue()
+ * @see #getAngle()
+ * @generated
+ */
+ EAttribute getAngle_Value();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Angle#getUnit <em>Unit</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Unit</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Angle#getUnit()
+ * @see #getAngle()
+ * @generated
+ */
+ EAttribute getAngle_Unit();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Time <em>Time</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Time</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Time
+ * @generated
+ */
+ EClass getTime();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.gmfdiag.css.Time#getOp <em>Op</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Op</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Time#getOp()
+ * @see #getTime()
+ * @generated
+ */
+ EReference getTime_Op();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Time#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Time#getValue()
+ * @see #getTime()
+ * @generated
+ */
+ EAttribute getTime_Value();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Time#getUnit <em>Unit</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Unit</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Time#getUnit()
+ * @see #getTime()
+ * @generated
+ */
+ EAttribute getTime_Unit();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Frequency <em>Frequency</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Frequency</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Frequency
+ * @generated
+ */
+ EClass getFrequency();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.gmfdiag.css.Frequency#getOp <em>Op</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Op</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Frequency#getOp()
+ * @see #getFrequency()
+ * @generated
+ */
+ EReference getFrequency_Op();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Frequency#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Frequency#getValue()
+ * @see #getFrequency()
+ * @generated
+ */
+ EAttribute getFrequency_Value();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Frequency#getUnit <em>Unit</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Unit</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Frequency#getUnit()
+ * @see #getFrequency()
+ * @generated
+ */
+ EAttribute getFrequency_Unit();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Uri <em>Uri</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Uri</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Uri
+ * @generated
+ */
+ EClass getUri();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Uri#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Uri#getValue()
+ * @see #getUri()
+ * @generated
+ */
+ EAttribute getUri_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.StringValue <em>String Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>String Value</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.StringValue
+ * @generated
+ */
+ EClass getStringValue();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.StringValue#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.StringValue#getValue()
+ * @see #getStringValue()
+ * @generated
+ */
+ EAttribute getStringValue_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.HexColor <em>Hex Color</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hex Color</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.HexColor
+ * @generated
+ */
+ EClass getHexColor();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.HexColor#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.HexColor#getValue()
+ * @see #getHexColor()
+ * @generated
+ */
+ EAttribute getHexColor_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Class <em>Class</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Class</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Class
+ * @generated
+ */
+ EClass getClass_();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Class#getClass_ <em>Class</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Class</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Class#getClass_()
+ * @see #getClass_()
+ * @generated
+ */
+ EAttribute getClass_Class();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Attribute <em>Attribute</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Attribute</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Attribute
+ * @generated
+ */
+ EClass getAttribute();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Attribute#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Attribute#getName()
+ * @see #getAttribute()
+ * @generated
+ */
+ EAttribute getAttribute_Name();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.gmfdiag.css.Attribute#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Value</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Attribute#getValue()
+ * @see #getAttribute()
+ * @generated
+ */
+ EReference getAttribute_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.AttributeValue <em>Attribute Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Attribute Value</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.AttributeValue
+ * @generated
+ */
+ EClass getAttributeValue();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.AttributeValue#getOperator <em>Operator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Operator</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.AttributeValue#getOperator()
+ * @see #getAttributeValue()
+ * @generated
+ */
+ EAttribute getAttributeValue_Operator();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.AttributeValue#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.AttributeValue#getValue()
+ * @see #getAttributeValue()
+ * @generated
+ */
+ EAttribute getAttributeValue_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Pseudo <em>Pseudo</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Pseudo</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Pseudo
+ * @generated
+ */
+ EClass getPseudo();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Pseudo#getPseudo <em>Pseudo</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Pseudo</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Pseudo#getPseudo()
+ * @see #getPseudo()
+ * @generated
+ */
+ EAttribute getPseudo_Pseudo();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Pseudo#getArgs <em>Args</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Args</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Pseudo#getArgs()
+ * @see #getPseudo()
+ * @generated
+ */
+ EAttribute getPseudo_Args();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.CSSId <em>CSS Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>CSS Id</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CSSId
+ * @generated
+ */
+ EClass getCSSId();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.CSSId#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CSSId#getValue()
+ * @see #getCSSId()
+ * @generated
+ */
+ EAttribute getCSSId_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.UnaryOperator <em>Unary Operator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Unary Operator</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.UnaryOperator
+ * @generated
+ */
+ EClass getUnaryOperator();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.UnaryOperator#getOperator <em>Operator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Operator</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.UnaryOperator#getOperator()
+ * @see #getUnaryOperator()
+ * @generated
+ */
+ EAttribute getUnaryOperator_Operator();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.infra.gmfdiag.css.UNARY <em>UNARY</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>UNARY</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.UNARY
+ * @generated
+ */
+ EEnum getUNARY();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.infra.gmfdiag.css.KIND <em>KIND</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>KIND</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.KIND
+ * @generated
+ */
+ EEnum getKIND();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.infra.gmfdiag.css.ATTRIBUTE_OP <em>ATTRIBUTE OP</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>ATTRIBUTE OP</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.ATTRIBUTE_OP
+ * @generated
+ */
+ EEnum getATTRIBUTE_OP();
+
+ /**
+ * 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.papyrus.infra.gmfdiag.css.impl.StylesheetImpl <em>Stylesheet</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.StylesheetImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getStylesheet()
+ * @generated
+ */
+ EClass STYLESHEET = eINSTANCE.getStylesheet();
+
+ /**
+ * The meta object literal for the '<em><b>Charset</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute STYLESHEET__CHARSET = eINSTANCE.getStylesheet_Charset();
+
+ /**
+ * The meta object literal for the '<em><b>Imports</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference STYLESHEET__IMPORTS = eINSTANCE.getStylesheet_Imports();
+
+ /**
+ * The meta object literal for the '<em><b>Contents</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference STYLESHEET__CONTENTS = eINSTANCE.getStylesheet_Contents();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.ContentImpl <em>Content</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.ContentImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getContent()
+ * @generated
+ */
+ EClass CONTENT = eINSTANCE.getContent();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.ImportImpl <em>Import</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.ImportImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getImport()
+ * @generated
+ */
+ EClass IMPORT = eINSTANCE.getImport();
+
+ /**
+ * The meta object literal for the '<em><b>String</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute IMPORT__STRING = eINSTANCE.getImport_String();
+
+ /**
+ * The meta object literal for the '<em><b>Uri</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference IMPORT__URI = eINSTANCE.getImport_Uri();
+
+ /**
+ * The meta object literal for the '<em><b>Media</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute IMPORT__MEDIA = eINSTANCE.getImport_Media();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.MediaImpl <em>Media</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.MediaImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getMedia()
+ * @generated
+ */
+ EClass MEDIA = eINSTANCE.getMedia();
+
+ /**
+ * The meta object literal for the '<em><b>Media</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MEDIA__MEDIA = eINSTANCE.getMedia_Media();
+
+ /**
+ * The meta object literal for the '<em><b>Rules</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MEDIA__RULES = eINSTANCE.getMedia_Rules();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.PageImpl <em>Page</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.PageImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getPage()
+ * @generated
+ */
+ EClass PAGE = eINSTANCE.getPage();
+
+ /**
+ * The meta object literal for the '<em><b>Pseudo</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PAGE__PSEUDO = eINSTANCE.getPage_Pseudo();
+
+ /**
+ * The meta object literal for the '<em><b>Declarations</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PAGE__DECLARATIONS = eINSTANCE.getPage_Declarations();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.PseudoPageImpl <em>Pseudo Page</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.PseudoPageImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getPseudoPage()
+ * @generated
+ */
+ EClass PSEUDO_PAGE = eINSTANCE.getPseudoPage();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PSEUDO_PAGE__ID = eINSTANCE.getPseudoPage_Id();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.RulesetImpl <em>Ruleset</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.RulesetImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getRuleset()
+ * @generated
+ */
+ EClass RULESET = eINSTANCE.getRuleset();
+
+ /**
+ * The meta object literal for the '<em><b>Selectors</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RULESET__SELECTORS = eINSTANCE.getRuleset_Selectors();
+
+ /**
+ * The meta object literal for the '<em><b>Properties</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RULESET__PROPERTIES = eINSTANCE.getRuleset_Properties();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.SelectorImpl <em>Selector</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.SelectorImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getSelector()
+ * @generated
+ */
+ EClass SELECTOR = eINSTANCE.getSelector();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.CompositeSelectorImpl <em>Composite Selector</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CompositeSelectorImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getCompositeSelector()
+ * @generated
+ */
+ EClass COMPOSITE_SELECTOR = eINSTANCE.getCompositeSelector();
+
+ /**
+ * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference COMPOSITE_SELECTOR__LEFT = eINSTANCE.getCompositeSelector_Left();
+
+ /**
+ * The meta object literal for the '<em><b>Combinator</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference COMPOSITE_SELECTOR__COMBINATOR = eINSTANCE.getCompositeSelector_Combinator();
+
+ /**
+ * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference COMPOSITE_SELECTOR__RIGHT = eINSTANCE.getCompositeSelector_Right();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.SimpleSelectorImpl <em>Simple Selector</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.SimpleSelectorImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getSimpleSelector()
+ * @generated
+ */
+ EClass SIMPLE_SELECTOR = eINSTANCE.getSimpleSelector();
+
+ /**
+ * The meta object literal for the '<em><b>Element Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SIMPLE_SELECTOR__ELEMENT_NAME = eINSTANCE.getSimpleSelector_ElementName();
+
+ /**
+ * The meta object literal for the '<em><b>Condition</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SIMPLE_SELECTOR__CONDITION = eINSTANCE.getSimpleSelector_Condition();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.SelectorConditionImpl <em>Selector Condition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.SelectorConditionImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getSelectorCondition()
+ * @generated
+ */
+ EClass SELECTOR_CONDITION = eINSTANCE.getSelectorCondition();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.CombinatorImpl <em>Combinator</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CombinatorImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getCombinator()
+ * @generated
+ */
+ EClass COMBINATOR = eINSTANCE.getCombinator();
+
+ /**
+ * The meta object literal for the '<em><b>Kind</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute COMBINATOR__KIND = eINSTANCE.getCombinator_Kind();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.DeclarationImpl <em>Declaration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.DeclarationImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.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>Expression</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DECLARATION__EXPRESSION = eINSTANCE.getDeclaration_Expression();
+
+ /**
+ * The meta object literal for the '<em><b>Important</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DECLARATION__IMPORTANT = eINSTANCE.getDeclaration_Important();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.ExpressionImpl <em>Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.ExpressionImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getExpression()
+ * @generated
+ */
+ EClass EXPRESSION = eINSTANCE.getExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Terms</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EXPRESSION__TERMS = eINSTANCE.getExpression_Terms();
+
+ /**
+ * The meta object literal for the '<em><b>Subterms</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EXPRESSION__SUBTERMS = eINSTANCE.getExpression_Subterms();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.SubtermImpl <em>Subterm</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.SubtermImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getSubterm()
+ * @generated
+ */
+ EClass SUBTERM = eINSTANCE.getSubterm();
+
+ /**
+ * The meta object literal for the '<em><b>Operator</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SUBTERM__OPERATOR = eINSTANCE.getSubterm_Operator();
+
+ /**
+ * The meta object literal for the '<em><b>Term</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SUBTERM__TERM = eINSTANCE.getSubterm_Term();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.TermImpl <em>Term</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.TermImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getTerm()
+ * @generated
+ */
+ EClass TERM = eINSTANCE.getTerm();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.FunctionImpl <em>Function</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.FunctionImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.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>Args</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FUNCTION__ARGS = eINSTANCE.getFunction_Args();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.NameImpl <em>Name</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.NameImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getName_()
+ * @generated
+ */
+ EClass NAME = eINSTANCE.getName_();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NAME__VALUE = eINSTANCE.getName_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.NumberImpl <em>Number</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.NumberImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getNumber()
+ * @generated
+ */
+ EClass NUMBER = eINSTANCE.getNumber();
+
+ /**
+ * The meta object literal for the '<em><b>Op</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference NUMBER__OP = eINSTANCE.getNumber_Op();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NUMBER__VALUE = eINSTANCE.getNumber_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.PercentageImpl <em>Percentage</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.PercentageImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getPercentage()
+ * @generated
+ */
+ EClass PERCENTAGE = eINSTANCE.getPercentage();
+
+ /**
+ * The meta object literal for the '<em><b>Op</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PERCENTAGE__OP = eINSTANCE.getPercentage_Op();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PERCENTAGE__VALUE = eINSTANCE.getPercentage_Value();
+
+ /**
+ * The meta object literal for the '<em><b>Unit</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PERCENTAGE__UNIT = eINSTANCE.getPercentage_Unit();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.LengthImpl <em>Length</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.LengthImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getLength()
+ * @generated
+ */
+ EClass LENGTH = eINSTANCE.getLength();
+
+ /**
+ * The meta object literal for the '<em><b>Op</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference LENGTH__OP = eINSTANCE.getLength_Op();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LENGTH__VALUE = eINSTANCE.getLength_Value();
+
+ /**
+ * The meta object literal for the '<em><b>Unit</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LENGTH__UNIT = eINSTANCE.getLength_Unit();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.EmsImpl <em>Ems</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.EmsImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getEms()
+ * @generated
+ */
+ EClass EMS = eINSTANCE.getEms();
+
+ /**
+ * The meta object literal for the '<em><b>Op</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EMS__OP = eINSTANCE.getEms_Op();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute EMS__VALUE = eINSTANCE.getEms_Value();
+
+ /**
+ * The meta object literal for the '<em><b>Unit</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute EMS__UNIT = eINSTANCE.getEms_Unit();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.ExsImpl <em>Exs</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.ExsImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getExs()
+ * @generated
+ */
+ EClass EXS = eINSTANCE.getExs();
+
+ /**
+ * The meta object literal for the '<em><b>Op</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EXS__OP = eINSTANCE.getExs_Op();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute EXS__VALUE = eINSTANCE.getExs_Value();
+
+ /**
+ * The meta object literal for the '<em><b>Unit</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute EXS__UNIT = eINSTANCE.getExs_Unit();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.AngleImpl <em>Angle</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.AngleImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getAngle()
+ * @generated
+ */
+ EClass ANGLE = eINSTANCE.getAngle();
+
+ /**
+ * The meta object literal for the '<em><b>Op</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ANGLE__OP = eINSTANCE.getAngle_Op();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ANGLE__VALUE = eINSTANCE.getAngle_Value();
+
+ /**
+ * The meta object literal for the '<em><b>Unit</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ANGLE__UNIT = eINSTANCE.getAngle_Unit();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.TimeImpl <em>Time</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.TimeImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getTime()
+ * @generated
+ */
+ EClass TIME = eINSTANCE.getTime();
+
+ /**
+ * The meta object literal for the '<em><b>Op</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TIME__OP = eINSTANCE.getTime_Op();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TIME__VALUE = eINSTANCE.getTime_Value();
+
+ /**
+ * The meta object literal for the '<em><b>Unit</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TIME__UNIT = eINSTANCE.getTime_Unit();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.FrequencyImpl <em>Frequency</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.FrequencyImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getFrequency()
+ * @generated
+ */
+ EClass FREQUENCY = eINSTANCE.getFrequency();
+
+ /**
+ * The meta object literal for the '<em><b>Op</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FREQUENCY__OP = eINSTANCE.getFrequency_Op();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FREQUENCY__VALUE = eINSTANCE.getFrequency_Value();
+
+ /**
+ * The meta object literal for the '<em><b>Unit</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FREQUENCY__UNIT = eINSTANCE.getFrequency_Unit();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.UriImpl <em>Uri</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.UriImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getUri()
+ * @generated
+ */
+ EClass URI = eINSTANCE.getUri();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute URI__VALUE = eINSTANCE.getUri_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.StringValueImpl <em>String Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.StringValueImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getStringValue()
+ * @generated
+ */
+ EClass STRING_VALUE = eINSTANCE.getStringValue();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute STRING_VALUE__VALUE = eINSTANCE.getStringValue_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.HexColorImpl <em>Hex Color</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.HexColorImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getHexColor()
+ * @generated
+ */
+ EClass HEX_COLOR = eINSTANCE.getHexColor();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HEX_COLOR__VALUE = eINSTANCE.getHexColor_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.ClassImpl <em>Class</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.ClassImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getClass_()
+ * @generated
+ */
+ EClass CLASS = eINSTANCE.getClass_();
+
+ /**
+ * The meta object literal for the '<em><b>Class</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CLASS__CLASS = eINSTANCE.getClass_Class();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.AttributeImpl <em>Attribute</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.AttributeImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getAttribute()
+ * @generated
+ */
+ EClass ATTRIBUTE = eINSTANCE.getAttribute();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ATTRIBUTE__NAME = eINSTANCE.getAttribute_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ATTRIBUTE__VALUE = eINSTANCE.getAttribute_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.AttributeValueImpl <em>Attribute Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.AttributeValueImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getAttributeValue()
+ * @generated
+ */
+ EClass ATTRIBUTE_VALUE = eINSTANCE.getAttributeValue();
+
+ /**
+ * The meta object literal for the '<em><b>Operator</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ATTRIBUTE_VALUE__OPERATOR = eINSTANCE.getAttributeValue_Operator();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ATTRIBUTE_VALUE__VALUE = eINSTANCE.getAttributeValue_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.PseudoImpl <em>Pseudo</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.PseudoImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getPseudo()
+ * @generated
+ */
+ EClass PSEUDO = eINSTANCE.getPseudo();
+
+ /**
+ * The meta object literal for the '<em><b>Pseudo</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PSEUDO__PSEUDO = eINSTANCE.getPseudo_Pseudo();
+
+ /**
+ * The meta object literal for the '<em><b>Args</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PSEUDO__ARGS = eINSTANCE.getPseudo_Args();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.CSSIdImpl <em>CSS Id</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CSSIdImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getCSSId()
+ * @generated
+ */
+ EClass CSS_ID = eINSTANCE.getCSSId();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CSS_ID__VALUE = eINSTANCE.getCSSId_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.UnaryOperatorImpl <em>Unary Operator</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.UnaryOperatorImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getUnaryOperator()
+ * @generated
+ */
+ EClass UNARY_OPERATOR = eINSTANCE.getUnaryOperator();
+
+ /**
+ * The meta object literal for the '<em><b>Operator</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute UNARY_OPERATOR__OPERATOR = eINSTANCE.getUnaryOperator_Operator();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.UNARY <em>UNARY</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.UNARY
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getUNARY()
+ * @generated
+ */
+ EEnum UNARY = eINSTANCE.getUNARY();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.KIND <em>KIND</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.KIND
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getKIND()
+ * @generated
+ */
+ EEnum KIND = eINSTANCE.getKIND();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.ATTRIBUTE_OP <em>ATTRIBUTE OP</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.ATTRIBUTE_OP
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getATTRIBUTE_OP()
+ * @generated
+ */
+ EEnum ATTRIBUTE_OP = eINSTANCE.getATTRIBUTE_OP();
+
+ }
+
+} //CssPackage
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Declaration.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Declaration.java
new file mode 100644
index 00000000000..e78d2797718
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Declaration.java
@@ -0,0 +1,105 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.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.papyrus.infra.gmfdiag.css.Declaration#getProperty <em>Property</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Declaration#getExpression <em>Expression</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Declaration#isImportant <em>Important</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.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.papyrus.infra.gmfdiag.css.CssPackage#getDeclaration_Property()
+ * @model
+ * @generated
+ */
+ String getProperty();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.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>Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Expression</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Expression</em>' containment reference.
+ * @see #setExpression(Expression)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getDeclaration_Expression()
+ * @model containment="true"
+ * @generated
+ */
+ Expression getExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Declaration#getExpression <em>Expression</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Expression</em>' containment reference.
+ * @see #getExpression()
+ * @generated
+ */
+ void setExpression(Expression value);
+
+ /**
+ * Returns the value of the '<em><b>Important</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Important</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Important</em>' attribute.
+ * @see #setImportant(boolean)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getDeclaration_Important()
+ * @model
+ * @generated
+ */
+ boolean isImportant();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Declaration#isImportant <em>Important</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Important</em>' attribute.
+ * @see #isImportant()
+ * @generated
+ */
+ void setImportant(boolean value);
+
+} // Declaration
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Ems.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Ems.java
new file mode 100644
index 00000000000..17a2830ccbe
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Ems.java
@@ -0,0 +1,104 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Ems</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Ems#getOp <em>Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Ems#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Ems#getUnit <em>Unit</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getEms()
+ * @model
+ * @generated
+ */
+public interface Ems extends Term
+{
+ /**
+ * Returns the value of the '<em><b>Op</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Op</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>Op</em>' containment reference.
+ * @see #setOp(UnaryOperator)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getEms_Op()
+ * @model containment="true"
+ * @generated
+ */
+ UnaryOperator getOp();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Ems#getOp <em>Op</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Op</em>' containment reference.
+ * @see #getOp()
+ * @generated
+ */
+ void setOp(UnaryOperator value);
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getEms_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Ems#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+ /**
+ * Returns the value of the '<em><b>Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Unit</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Unit</em>' attribute.
+ * @see #setUnit(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getEms_Unit()
+ * @model
+ * @generated
+ */
+ String getUnit();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Ems#getUnit <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Unit</em>' attribute.
+ * @see #getUnit()
+ * @generated
+ */
+ void setUnit(String value);
+
+} // Ems
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Expression.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Expression.java
new file mode 100644
index 00000000000..b232209a4d6
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Expression.java
@@ -0,0 +1,70 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.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>Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Expression#getTerms <em>Terms</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Expression#getSubterms <em>Subterms</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getExpression()
+ * @model
+ * @generated
+ */
+public interface Expression extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Terms</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Terms</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Terms</em>' containment reference.
+ * @see #setTerms(Term)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getExpression_Terms()
+ * @model containment="true"
+ * @generated
+ */
+ Term getTerms();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Expression#getTerms <em>Terms</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Terms</em>' containment reference.
+ * @see #getTerms()
+ * @generated
+ */
+ void setTerms(Term value);
+
+ /**
+ * Returns the value of the '<em><b>Subterms</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.infra.gmfdiag.css.Subterm}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Subterms</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>Subterms</em>' containment reference list.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getExpression_Subterms()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Subterm> getSubterms();
+
+} // Expression
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Exs.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Exs.java
new file mode 100644
index 00000000000..b092f890617
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Exs.java
@@ -0,0 +1,104 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Exs</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Exs#getOp <em>Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Exs#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Exs#getUnit <em>Unit</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getExs()
+ * @model
+ * @generated
+ */
+public interface Exs extends Term
+{
+ /**
+ * Returns the value of the '<em><b>Op</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Op</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>Op</em>' containment reference.
+ * @see #setOp(UnaryOperator)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getExs_Op()
+ * @model containment="true"
+ * @generated
+ */
+ UnaryOperator getOp();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Exs#getOp <em>Op</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Op</em>' containment reference.
+ * @see #getOp()
+ * @generated
+ */
+ void setOp(UnaryOperator value);
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getExs_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Exs#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+ /**
+ * Returns the value of the '<em><b>Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Unit</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Unit</em>' attribute.
+ * @see #setUnit(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getExs_Unit()
+ * @model
+ * @generated
+ */
+ String getUnit();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Exs#getUnit <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Unit</em>' attribute.
+ * @see #getUnit()
+ * @generated
+ */
+ void setUnit(String value);
+
+} // Exs
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Frequency.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Frequency.java
new file mode 100644
index 00000000000..43e0ad042b0
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Frequency.java
@@ -0,0 +1,104 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Frequency</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Frequency#getOp <em>Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Frequency#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Frequency#getUnit <em>Unit</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getFrequency()
+ * @model
+ * @generated
+ */
+public interface Frequency extends Term
+{
+ /**
+ * Returns the value of the '<em><b>Op</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Op</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>Op</em>' containment reference.
+ * @see #setOp(UnaryOperator)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getFrequency_Op()
+ * @model containment="true"
+ * @generated
+ */
+ UnaryOperator getOp();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Frequency#getOp <em>Op</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Op</em>' containment reference.
+ * @see #getOp()
+ * @generated
+ */
+ void setOp(UnaryOperator value);
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getFrequency_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Frequency#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+ /**
+ * Returns the value of the '<em><b>Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Unit</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Unit</em>' attribute.
+ * @see #setUnit(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getFrequency_Unit()
+ * @model
+ * @generated
+ */
+ String getUnit();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Frequency#getUnit <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Unit</em>' attribute.
+ * @see #getUnit()
+ * @generated
+ */
+ void setUnit(String value);
+
+} // Frequency
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Function.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Function.java
new file mode 100644
index 00000000000..8504170597e
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Function.java
@@ -0,0 +1,77 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+
+/**
+ * <!-- 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.papyrus.infra.gmfdiag.css.Function#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Function#getArgs <em>Args</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getFunction()
+ * @model
+ * @generated
+ */
+public interface Function extends Term
+{
+ /**
+ * 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.papyrus.infra.gmfdiag.css.CssPackage#getFunction_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.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>Args</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Args</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>Args</em>' containment reference.
+ * @see #setArgs(Expression)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getFunction_Args()
+ * @model containment="true"
+ * @generated
+ */
+ Expression getArgs();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Function#getArgs <em>Args</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Args</em>' containment reference.
+ * @see #getArgs()
+ * @generated
+ */
+ void setArgs(Expression value);
+
+} // Function
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/HexColor.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/HexColor.java
new file mode 100644
index 00000000000..3a09d479c0d
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/HexColor.java
@@ -0,0 +1,50 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hex Color</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.HexColor#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getHexColor()
+ * @model
+ * @generated
+ */
+public interface HexColor extends Term
+{
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getHexColor_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.HexColor#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+} // HexColor
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Import.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Import.java
new file mode 100644
index 00000000000..cc43c4d9ef6
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Import.java
@@ -0,0 +1,97 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.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>Import</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Import#getString <em>String</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Import#getUri <em>Uri</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Import#getMedia <em>Media</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getImport()
+ * @model
+ * @generated
+ */
+public interface Import extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>String</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>String</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</em>' attribute.
+ * @see #setString(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getImport_String()
+ * @model
+ * @generated
+ */
+ String getString();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Import#getString <em>String</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>String</em>' attribute.
+ * @see #getString()
+ * @generated
+ */
+ void setString(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.papyrus.infra.gmfdiag.css.CssPackage#getImport_Uri()
+ * @model containment="true"
+ * @generated
+ */
+ Uri getUri();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Import#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>Media</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Media</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>Media</em>' attribute list.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getImport_Media()
+ * @model unique="false"
+ * @generated
+ */
+ EList<String> getMedia();
+
+} // Import
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/KIND.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/KIND.java
new file mode 100644
index 00000000000..3494ace48f2
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/KIND.java
@@ -0,0 +1,223 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>KIND</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getKIND()
+ * @model
+ * @generated
+ */
+public enum KIND implements Enumerator
+{
+ /**
+ * The '<em><b>FIRST CHILD</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #FIRST_CHILD_VALUE
+ * @generated
+ * @ordered
+ */
+ FIRST_CHILD(0, "FIRST_CHILD", ">"),
+
+ /**
+ * The '<em><b>SIBLING</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #SIBLING_VALUE
+ * @generated
+ * @ordered
+ */
+ SIBLING(1, "SIBLING", "+");
+
+ /**
+ * The '<em><b>FIRST CHILD</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>FIRST CHILD</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #FIRST_CHILD
+ * @model literal=">"
+ * @generated
+ * @ordered
+ */
+ public static final int FIRST_CHILD_VALUE = 0;
+
+ /**
+ * The '<em><b>SIBLING</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>SIBLING</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #SIBLING
+ * @model literal="+"
+ * @generated
+ * @ordered
+ */
+ public static final int SIBLING_VALUE = 1;
+
+ /**
+ * An array of all the '<em><b>KIND</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final KIND[] VALUES_ARRAY =
+ new KIND[]
+ {
+ FIRST_CHILD,
+ SIBLING,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>KIND</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<KIND> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>KIND</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static KIND get(String literal)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ KIND result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>KIND</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static KIND getByName(String name)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ KIND result = VALUES_ARRAY[i];
+ if (result.getName().equals(name))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>KIND</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static KIND get(int value)
+ {
+ switch (value)
+ {
+ case FIRST_CHILD_VALUE: return FIRST_CHILD;
+ case SIBLING_VALUE: return SIBLING;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private KIND(int value, String name, String literal)
+ {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral()
+ {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ return literal;
+ }
+
+} //KIND
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Length.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Length.java
new file mode 100644
index 00000000000..b0b92f06780
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Length.java
@@ -0,0 +1,104 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Length</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Length#getOp <em>Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Length#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Length#getUnit <em>Unit</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getLength()
+ * @model
+ * @generated
+ */
+public interface Length extends Term
+{
+ /**
+ * Returns the value of the '<em><b>Op</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Op</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>Op</em>' containment reference.
+ * @see #setOp(UnaryOperator)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getLength_Op()
+ * @model containment="true"
+ * @generated
+ */
+ UnaryOperator getOp();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Length#getOp <em>Op</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Op</em>' containment reference.
+ * @see #getOp()
+ * @generated
+ */
+ void setOp(UnaryOperator value);
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getLength_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Length#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+ /**
+ * Returns the value of the '<em><b>Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Unit</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Unit</em>' attribute.
+ * @see #setUnit(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getLength_Unit()
+ * @model
+ * @generated
+ */
+ String getUnit();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Length#getUnit <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Unit</em>' attribute.
+ * @see #getUnit()
+ * @generated
+ */
+ void setUnit(String value);
+
+} // Length
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Media.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Media.java
new file mode 100644
index 00000000000..50bc203d443
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Media.java
@@ -0,0 +1,58 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Media</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Media#getMedia <em>Media</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Media#getRules <em>Rules</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getMedia()
+ * @model
+ * @generated
+ */
+public interface Media extends Content
+{
+ /**
+ * Returns the value of the '<em><b>Media</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Media</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>Media</em>' attribute list.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getMedia_Media()
+ * @model unique="false"
+ * @generated
+ */
+ EList<String> getMedia();
+
+ /**
+ * Returns the value of the '<em><b>Rules</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.infra.gmfdiag.css.Ruleset}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Rules</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>Rules</em>' containment reference list.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getMedia_Rules()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Ruleset> getRules();
+
+} // Media
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Name.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Name.java
new file mode 100644
index 00000000000..6f209c69017
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Name.java
@@ -0,0 +1,50 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Name</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Name#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getName_()
+ * @model
+ * @generated
+ */
+public interface Name extends Term
+{
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getName_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Name#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+} // Name
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Number.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Number.java
new file mode 100644
index 00000000000..b378d7c785e
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Number.java
@@ -0,0 +1,77 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Number</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Number#getOp <em>Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Number#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getNumber()
+ * @model
+ * @generated
+ */
+public interface Number extends Term
+{
+ /**
+ * Returns the value of the '<em><b>Op</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Op</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>Op</em>' containment reference.
+ * @see #setOp(UnaryOperator)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getNumber_Op()
+ * @model containment="true"
+ * @generated
+ */
+ UnaryOperator getOp();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Number#getOp <em>Op</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Op</em>' containment reference.
+ * @see #getOp()
+ * @generated
+ */
+ void setOp(UnaryOperator value);
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getNumber_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Number#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+} // Number
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Page.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Page.java
new file mode 100644
index 00000000000..a7e0ae7ad16
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Page.java
@@ -0,0 +1,68 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Page</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Page#getPseudo <em>Pseudo</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Page#getDeclarations <em>Declarations</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getPage()
+ * @model
+ * @generated
+ */
+public interface Page extends Content
+{
+ /**
+ * Returns the value of the '<em><b>Pseudo</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Pseudo</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>Pseudo</em>' containment reference.
+ * @see #setPseudo(PseudoPage)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getPage_Pseudo()
+ * @model containment="true"
+ * @generated
+ */
+ PseudoPage getPseudo();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Page#getPseudo <em>Pseudo</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Pseudo</em>' containment reference.
+ * @see #getPseudo()
+ * @generated
+ */
+ void setPseudo(PseudoPage value);
+
+ /**
+ * Returns the value of the '<em><b>Declarations</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.infra.gmfdiag.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.papyrus.infra.gmfdiag.css.CssPackage#getPage_Declarations()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Declaration> getDeclarations();
+
+} // Page
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Percentage.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Percentage.java
new file mode 100644
index 00000000000..48e0f625b24
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Percentage.java
@@ -0,0 +1,104 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Percentage</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Percentage#getOp <em>Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Percentage#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Percentage#getUnit <em>Unit</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getPercentage()
+ * @model
+ * @generated
+ */
+public interface Percentage extends Term
+{
+ /**
+ * Returns the value of the '<em><b>Op</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Op</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>Op</em>' containment reference.
+ * @see #setOp(UnaryOperator)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getPercentage_Op()
+ * @model containment="true"
+ * @generated
+ */
+ UnaryOperator getOp();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Percentage#getOp <em>Op</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Op</em>' containment reference.
+ * @see #getOp()
+ * @generated
+ */
+ void setOp(UnaryOperator value);
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getPercentage_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Percentage#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+ /**
+ * Returns the value of the '<em><b>Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Unit</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Unit</em>' attribute.
+ * @see #setUnit(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getPercentage_Unit()
+ * @model
+ * @generated
+ */
+ String getUnit();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Percentage#getUnit <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Unit</em>' attribute.
+ * @see #getUnit()
+ * @generated
+ */
+ void setUnit(String value);
+
+} // Percentage
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Pseudo.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Pseudo.java
new file mode 100644
index 00000000000..edf7b7d1921
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Pseudo.java
@@ -0,0 +1,77 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+
+/**
+ * <!-- 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.papyrus.infra.gmfdiag.css.Pseudo#getPseudo <em>Pseudo</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Pseudo#getArgs <em>Args</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getPseudo()
+ * @model
+ * @generated
+ */
+public interface Pseudo extends SelectorCondition
+{
+ /**
+ * Returns the value of the '<em><b>Pseudo</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Pseudo</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Pseudo</em>' attribute.
+ * @see #setPseudo(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getPseudo_Pseudo()
+ * @model
+ * @generated
+ */
+ String getPseudo();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Pseudo#getPseudo <em>Pseudo</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Pseudo</em>' attribute.
+ * @see #getPseudo()
+ * @generated
+ */
+ void setPseudo(String value);
+
+ /**
+ * Returns the value of the '<em><b>Args</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Args</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Args</em>' attribute.
+ * @see #setArgs(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getPseudo_Args()
+ * @model
+ * @generated
+ */
+ String getArgs();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Pseudo#getArgs <em>Args</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Args</em>' attribute.
+ * @see #getArgs()
+ * @generated
+ */
+ void setArgs(String value);
+
+} // Pseudo
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/PseudoPage.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/PseudoPage.java
new file mode 100644
index 00000000000..35793cbbe77
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/PseudoPage.java
@@ -0,0 +1,51 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Pseudo Page</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.PseudoPage#getId <em>Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getPseudoPage()
+ * @model
+ * @generated
+ */
+public interface PseudoPage extends EObject
+{
+ /**
+ * 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.papyrus.infra.gmfdiag.css.CssPackage#getPseudoPage_Id()
+ * @model
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.PseudoPage#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);
+
+} // PseudoPage
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Ruleset.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Ruleset.java
new file mode 100644
index 00000000000..e0429ba5cb6
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Ruleset.java
@@ -0,0 +1,58 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Ruleset</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Ruleset#getSelectors <em>Selectors</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Ruleset#getProperties <em>Properties</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getRuleset()
+ * @model
+ * @generated
+ */
+public interface Ruleset extends Content
+{
+ /**
+ * Returns the value of the '<em><b>Selectors</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.infra.gmfdiag.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.papyrus.infra.gmfdiag.css.CssPackage#getRuleset_Selectors()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Selector> getSelectors();
+
+ /**
+ * Returns the value of the '<em><b>Properties</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.infra.gmfdiag.css.Declaration}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Properties</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>Properties</em>' containment reference list.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getRuleset_Properties()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Declaration> getProperties();
+
+} // Ruleset
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Selector.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Selector.java
new file mode 100644
index 00000000000..8ecae089d47
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Selector.java
@@ -0,0 +1,19 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Selector</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getSelector()
+ * @model
+ * @generated
+ */
+public interface Selector extends EObject
+{
+} // Selector
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/SelectorCondition.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/SelectorCondition.java
new file mode 100644
index 00000000000..963f494f6fa
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/SelectorCondition.java
@@ -0,0 +1,19 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Selector Condition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getSelectorCondition()
+ * @model
+ * @generated
+ */
+public interface SelectorCondition extends EObject
+{
+} // SelectorCondition
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/SimpleSelector.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/SimpleSelector.java
new file mode 100644
index 00000000000..80f53557046
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/SimpleSelector.java
@@ -0,0 +1,68 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- 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.papyrus.infra.gmfdiag.css.SimpleSelector#getElementName <em>Element Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.SimpleSelector#getCondition <em>Condition</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getSimpleSelector()
+ * @model
+ * @generated
+ */
+public interface SimpleSelector extends Selector
+{
+ /**
+ * Returns the value of the '<em><b>Element Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Element 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>Element Name</em>' attribute.
+ * @see #setElementName(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getSimpleSelector_ElementName()
+ * @model
+ * @generated
+ */
+ String getElementName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.SimpleSelector#getElementName <em>Element Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Element Name</em>' attribute.
+ * @see #getElementName()
+ * @generated
+ */
+ void setElementName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Condition</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.infra.gmfdiag.css.SelectorCondition}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Condition</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>Condition</em>' containment reference list.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getSimpleSelector_Condition()
+ * @model containment="true"
+ * @generated
+ */
+ EList<SelectorCondition> getCondition();
+
+} // SimpleSelector
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/StringValue.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/StringValue.java
new file mode 100644
index 00000000000..daef11b047e
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/StringValue.java
@@ -0,0 +1,50 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>String Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.StringValue#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getStringValue()
+ * @model
+ * @generated
+ */
+public interface StringValue extends Term
+{
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getStringValue_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.StringValue#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+} // StringValue
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Stylesheet.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Stylesheet.java
new file mode 100644
index 00000000000..de3a7c97c81
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Stylesheet.java
@@ -0,0 +1,87 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.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.papyrus.infra.gmfdiag.css.Stylesheet#getCharset <em>Charset</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Stylesheet#getImports <em>Imports</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Stylesheet#getContents <em>Contents</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getStylesheet()
+ * @model
+ * @generated
+ */
+public interface Stylesheet extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Charset</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Charset</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Charset</em>' attribute.
+ * @see #setCharset(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getStylesheet_Charset()
+ * @model
+ * @generated
+ */
+ String getCharset();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Stylesheet#getCharset <em>Charset</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Charset</em>' attribute.
+ * @see #getCharset()
+ * @generated
+ */
+ void setCharset(String value);
+
+ /**
+ * Returns the value of the '<em><b>Imports</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.infra.gmfdiag.css.Import}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Imports</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>Imports</em>' containment reference list.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getStylesheet_Imports()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Import> getImports();
+
+ /**
+ * Returns the value of the '<em><b>Contents</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.infra.gmfdiag.css.Content}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Contents</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>Contents</em>' containment reference list.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getStylesheet_Contents()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Content> getContents();
+
+} // Stylesheet
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Subterm.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Subterm.java
new file mode 100644
index 00000000000..a452bb998d9
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Subterm.java
@@ -0,0 +1,78 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Subterm</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Subterm#getOperator <em>Operator</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Subterm#getTerm <em>Term</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getSubterm()
+ * @model
+ * @generated
+ */
+public interface Subterm extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Operator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Operator</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Operator</em>' attribute.
+ * @see #setOperator(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getSubterm_Operator()
+ * @model
+ * @generated
+ */
+ String getOperator();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Subterm#getOperator <em>Operator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Operator</em>' attribute.
+ * @see #getOperator()
+ * @generated
+ */
+ void setOperator(String value);
+
+ /**
+ * Returns the value of the '<em><b>Term</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Term</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>Term</em>' containment reference.
+ * @see #setTerm(Term)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getSubterm_Term()
+ * @model containment="true"
+ * @generated
+ */
+ Term getTerm();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Subterm#getTerm <em>Term</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Term</em>' containment reference.
+ * @see #getTerm()
+ * @generated
+ */
+ void setTerm(Term value);
+
+} // Subterm
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Term.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Term.java
new file mode 100644
index 00000000000..e3b2fd64823
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Term.java
@@ -0,0 +1,19 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Term</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getTerm()
+ * @model
+ * @generated
+ */
+public interface Term extends EObject
+{
+} // Term
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Time.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Time.java
new file mode 100644
index 00000000000..ffc0bb871b0
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Time.java
@@ -0,0 +1,104 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Time</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Time#getOp <em>Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Time#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Time#getUnit <em>Unit</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getTime()
+ * @model
+ * @generated
+ */
+public interface Time extends Term
+{
+ /**
+ * Returns the value of the '<em><b>Op</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Op</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>Op</em>' containment reference.
+ * @see #setOp(UnaryOperator)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getTime_Op()
+ * @model containment="true"
+ * @generated
+ */
+ UnaryOperator getOp();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Time#getOp <em>Op</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Op</em>' containment reference.
+ * @see #getOp()
+ * @generated
+ */
+ void setOp(UnaryOperator value);
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getTime_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Time#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+ /**
+ * Returns the value of the '<em><b>Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Unit</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Unit</em>' attribute.
+ * @see #setUnit(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getTime_Unit()
+ * @model
+ * @generated
+ */
+ String getUnit();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Time#getUnit <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Unit</em>' attribute.
+ * @see #getUnit()
+ * @generated
+ */
+ void setUnit(String value);
+
+} // Time
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/UNARY.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/UNARY.java
new file mode 100644
index 00000000000..f8c0d93026d
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/UNARY.java
@@ -0,0 +1,223 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>UNARY</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getUNARY()
+ * @model
+ * @generated
+ */
+public enum UNARY implements Enumerator
+{
+ /**
+ * The '<em><b>NEG</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #NEG_VALUE
+ * @generated
+ * @ordered
+ */
+ NEG(0, "NEG", "-"),
+
+ /**
+ * The '<em><b>PLUS</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #PLUS_VALUE
+ * @generated
+ * @ordered
+ */
+ PLUS(1, "PLUS", "+");
+
+ /**
+ * The '<em><b>NEG</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>NEG</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #NEG
+ * @model literal="-"
+ * @generated
+ * @ordered
+ */
+ public static final int NEG_VALUE = 0;
+
+ /**
+ * The '<em><b>PLUS</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>PLUS</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #PLUS
+ * @model literal="+"
+ * @generated
+ * @ordered
+ */
+ public static final int PLUS_VALUE = 1;
+
+ /**
+ * An array of all the '<em><b>UNARY</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final UNARY[] VALUES_ARRAY =
+ new UNARY[]
+ {
+ NEG,
+ PLUS,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>UNARY</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<UNARY> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>UNARY</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static UNARY get(String literal)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ UNARY result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>UNARY</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static UNARY getByName(String name)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ UNARY result = VALUES_ARRAY[i];
+ if (result.getName().equals(name))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>UNARY</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static UNARY get(int value)
+ {
+ switch (value)
+ {
+ case NEG_VALUE: return NEG;
+ case PLUS_VALUE: return PLUS;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private UNARY(int value, String name, String literal)
+ {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral()
+ {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ return literal;
+ }
+
+} //UNARY
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/UnaryOperator.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/UnaryOperator.java
new file mode 100644
index 00000000000..140d184518b
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/UnaryOperator.java
@@ -0,0 +1,54 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Unary Operator</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.UnaryOperator#getOperator <em>Operator</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getUnaryOperator()
+ * @model
+ * @generated
+ */
+public interface UnaryOperator extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Operator</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.infra.gmfdiag.css.UNARY}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Operator</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Operator</em>' attribute.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.UNARY
+ * @see #setOperator(UNARY)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getUnaryOperator_Operator()
+ * @model
+ * @generated
+ */
+ UNARY getOperator();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.UnaryOperator#getOperator <em>Operator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Operator</em>' attribute.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.UNARY
+ * @see #getOperator()
+ * @generated
+ */
+ void setOperator(UNARY value);
+
+} // UnaryOperator
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Uri.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Uri.java
new file mode 100644
index 00000000000..c151684c910
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Uri.java
@@ -0,0 +1,50 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+
+/**
+ * <!-- 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.papyrus.infra.gmfdiag.css.Uri#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getUri()
+ * @model
+ * @generated
+ */
+public interface Uri extends Term
+{
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getUri_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Uri#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+} // Uri
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/AngleImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/AngleImpl.java
new file mode 100644
index 00000000000..f22a029c637
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/AngleImpl.java
@@ -0,0 +1,320 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.Angle;
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.UnaryOperator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Angle</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.AngleImpl#getOp <em>Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.AngleImpl#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.AngleImpl#getUnit <em>Unit</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AngleImpl extends TermImpl implements Angle
+{
+ /**
+ * The cached value of the '{@link #getOp() <em>Op</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOp()
+ * @generated
+ * @ordered
+ */
+ protected UnaryOperator op;
+
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getUnit() <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUnit()
+ * @generated
+ * @ordered
+ */
+ protected static final String UNIT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUnit() <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUnit()
+ * @generated
+ * @ordered
+ */
+ protected String unit = UNIT_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AngleImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.ANGLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UnaryOperator getOp()
+ {
+ return op;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOp(UnaryOperator newOp, NotificationChain msgs)
+ {
+ UnaryOperator oldOp = op;
+ op = newOp;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CssPackage.ANGLE__OP, oldOp, newOp);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOp(UnaryOperator newOp)
+ {
+ if (newOp != op)
+ {
+ NotificationChain msgs = null;
+ if (op != null)
+ msgs = ((InternalEObject)op).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CssPackage.ANGLE__OP, null, msgs);
+ if (newOp != null)
+ msgs = ((InternalEObject)newOp).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CssPackage.ANGLE__OP, null, msgs);
+ msgs = basicSetOp(newOp, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.ANGLE__OP, newOp, newOp));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue)
+ {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.ANGLE__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getUnit()
+ {
+ return unit;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUnit(String newUnit)
+ {
+ String oldUnit = unit;
+ unit = newUnit;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.ANGLE__UNIT, oldUnit, unit));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CssPackage.ANGLE__OP:
+ return basicSetOp(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.ANGLE__OP:
+ return getOp();
+ case CssPackage.ANGLE__VALUE:
+ return getValue();
+ case CssPackage.ANGLE__UNIT:
+ return getUnit();
+ }
+ 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.ANGLE__OP:
+ setOp((UnaryOperator)newValue);
+ return;
+ case CssPackage.ANGLE__VALUE:
+ setValue((String)newValue);
+ return;
+ case CssPackage.ANGLE__UNIT:
+ setUnit((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.ANGLE__OP:
+ setOp((UnaryOperator)null);
+ return;
+ case CssPackage.ANGLE__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ case CssPackage.ANGLE__UNIT:
+ setUnit(UNIT_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.ANGLE__OP:
+ return op != null;
+ case CssPackage.ANGLE__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ case CssPackage.ANGLE__UNIT:
+ return UNIT_EDEFAULT == null ? unit != null : !UNIT_EDEFAULT.equals(unit);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: ");
+ result.append(value);
+ result.append(", unit: ");
+ result.append(unit);
+ result.append(')');
+ return result.toString();
+ }
+
+} //AngleImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/AttributeImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/AttributeImpl.java
new file mode 100644
index 00000000000..6034f06472e
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/AttributeImpl.java
@@ -0,0 +1,264 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.Attribute;
+import org.eclipse.papyrus.infra.gmfdiag.css.AttributeValue;
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Attribute</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.AttributeImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.AttributeImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AttributeImpl extends SelectorConditionImpl implements Attribute
+{
+ /**
+ * 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 #getValue() <em>Value</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected AttributeValue value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AttributeImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.ATTRIBUTE;
+ }
+
+ /**
+ * <!-- 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.ATTRIBUTE__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AttributeValue getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetValue(AttributeValue newValue, NotificationChain msgs)
+ {
+ AttributeValue oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CssPackage.ATTRIBUTE__VALUE, oldValue, newValue);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(AttributeValue newValue)
+ {
+ if (newValue != value)
+ {
+ NotificationChain msgs = null;
+ if (value != null)
+ msgs = ((InternalEObject)value).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CssPackage.ATTRIBUTE__VALUE, null, msgs);
+ if (newValue != null)
+ msgs = ((InternalEObject)newValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CssPackage.ATTRIBUTE__VALUE, null, msgs);
+ msgs = basicSetValue(newValue, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.ATTRIBUTE__VALUE, newValue, newValue));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CssPackage.ATTRIBUTE__VALUE:
+ return basicSetValue(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case CssPackage.ATTRIBUTE__NAME:
+ return getName();
+ case CssPackage.ATTRIBUTE__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case CssPackage.ATTRIBUTE__NAME:
+ setName((String)newValue);
+ return;
+ case CssPackage.ATTRIBUTE__VALUE:
+ setValue((AttributeValue)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.ATTRIBUTE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case CssPackage.ATTRIBUTE__VALUE:
+ setValue((AttributeValue)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.ATTRIBUTE__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case CssPackage.ATTRIBUTE__VALUE:
+ return value != 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();
+ }
+
+} //AttributeImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/AttributeValueImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/AttributeValueImpl.java
new file mode 100644
index 00000000000..c3165d4d4a1
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/AttributeValueImpl.java
@@ -0,0 +1,234 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+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;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.ATTRIBUTE_OP;
+import org.eclipse.papyrus.infra.gmfdiag.css.AttributeValue;
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Attribute Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.AttributeValueImpl#getOperator <em>Operator</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.AttributeValueImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AttributeValueImpl extends MinimalEObjectImpl.Container implements AttributeValue
+{
+ /**
+ * The default value of the '{@link #getOperator() <em>Operator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOperator()
+ * @generated
+ * @ordered
+ */
+ protected static final ATTRIBUTE_OP OPERATOR_EDEFAULT = ATTRIBUTE_OP.EQUALS;
+
+ /**
+ * The cached value of the '{@link #getOperator() <em>Operator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOperator()
+ * @generated
+ * @ordered
+ */
+ protected ATTRIBUTE_OP operator = OPERATOR_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AttributeValueImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.ATTRIBUTE_VALUE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ATTRIBUTE_OP getOperator()
+ {
+ return operator;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOperator(ATTRIBUTE_OP newOperator)
+ {
+ ATTRIBUTE_OP oldOperator = operator;
+ operator = newOperator == null ? OPERATOR_EDEFAULT : newOperator;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.ATTRIBUTE_VALUE__OPERATOR, oldOperator, operator));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue)
+ {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.ATTRIBUTE_VALUE__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case CssPackage.ATTRIBUTE_VALUE__OPERATOR:
+ return getOperator();
+ case CssPackage.ATTRIBUTE_VALUE__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case CssPackage.ATTRIBUTE_VALUE__OPERATOR:
+ setOperator((ATTRIBUTE_OP)newValue);
+ return;
+ case CssPackage.ATTRIBUTE_VALUE__VALUE:
+ setValue((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.ATTRIBUTE_VALUE__OPERATOR:
+ setOperator(OPERATOR_EDEFAULT);
+ return;
+ case CssPackage.ATTRIBUTE_VALUE__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.ATTRIBUTE_VALUE__OPERATOR:
+ return operator != OPERATOR_EDEFAULT;
+ case CssPackage.ATTRIBUTE_VALUE__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (operator: ");
+ result.append(operator);
+ result.append(", value: ");
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} //AttributeValueImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/CSSIdImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/CSSIdImpl.java
new file mode 100644
index 00000000000..b6fc8dc3b8c
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/CSSIdImpl.java
@@ -0,0 +1,176 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CSSId;
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>CSS Id</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.CSSIdImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CSSIdImpl extends SelectorConditionImpl implements CSSId
+{
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CSSIdImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.CSS_ID;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue)
+ {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.CSS_ID__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case CssPackage.CSS_ID__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case CssPackage.CSS_ID__VALUE:
+ setValue((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.CSS_ID__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.CSS_ID__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: ");
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} //CSSIdImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/ClassImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/ClassImpl.java
new file mode 100644
index 00000000000..af366856dce
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/ClassImpl.java
@@ -0,0 +1,175 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Class</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.ClassImpl#getClass_ <em>Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ClassImpl extends SelectorConditionImpl implements org.eclipse.papyrus.infra.gmfdiag.css.Class
+{
+ /**
+ * The default value of the '{@link #getClass_() <em>Class</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getClass_()
+ * @generated
+ * @ordered
+ */
+ protected static final String CLASS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getClass_() <em>Class</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getClass_()
+ * @generated
+ * @ordered
+ */
+ protected String class_ = CLASS_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ClassImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.CLASS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getClass_()
+ {
+ return class_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setClass(String newClass)
+ {
+ String oldClass = class_;
+ class_ = newClass;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.CLASS__CLASS, oldClass, class_));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case CssPackage.CLASS__CLASS:
+ return getClass_();
+ }
+ 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.CLASS__CLASS:
+ setClass((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.CLASS__CLASS:
+ setClass(CLASS_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.CLASS__CLASS:
+ return CLASS_EDEFAULT == null ? class_ != null : !CLASS_EDEFAULT.equals(class_);
+ }
+ 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(" (class: ");
+ result.append(class_);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ClassImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/CombinatorImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/CombinatorImpl.java
new file mode 100644
index 00000000000..5363af9b82f
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/CombinatorImpl.java
@@ -0,0 +1,178 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+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;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.Combinator;
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.KIND;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Combinator</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.CombinatorImpl#getKind <em>Kind</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CombinatorImpl extends MinimalEObjectImpl.Container implements Combinator
+{
+ /**
+ * The default value of the '{@link #getKind() <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKind()
+ * @generated
+ * @ordered
+ */
+ protected static final KIND KIND_EDEFAULT = KIND.FIRST_CHILD;
+
+ /**
+ * The cached value of the '{@link #getKind() <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKind()
+ * @generated
+ * @ordered
+ */
+ protected KIND kind = KIND_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CombinatorImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.COMBINATOR;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public KIND getKind()
+ {
+ return kind;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setKind(KIND newKind)
+ {
+ KIND oldKind = kind;
+ kind = newKind == null ? KIND_EDEFAULT : newKind;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.COMBINATOR__KIND, oldKind, kind));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case CssPackage.COMBINATOR__KIND:
+ return getKind();
+ }
+ 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.COMBINATOR__KIND:
+ setKind((KIND)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.COMBINATOR__KIND:
+ setKind(KIND_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.COMBINATOR__KIND:
+ return kind != KIND_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (kind: ");
+ result.append(kind);
+ result.append(')');
+ return result.toString();
+ }
+
+} //CombinatorImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/CompositeSelectorImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/CompositeSelectorImpl.java
new file mode 100644
index 00000000000..84174cd652d
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/CompositeSelectorImpl.java
@@ -0,0 +1,337 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.Combinator;
+import org.eclipse.papyrus.infra.gmfdiag.css.CompositeSelector;
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Selector;
+import org.eclipse.papyrus.infra.gmfdiag.css.SimpleSelector;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Composite Selector</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.CompositeSelectorImpl#getLeft <em>Left</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.CompositeSelectorImpl#getCombinator <em>Combinator</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.CompositeSelectorImpl#getRight <em>Right</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CompositeSelectorImpl extends SelectorImpl implements CompositeSelector
+{
+ /**
+ * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLeft()
+ * @generated
+ * @ordered
+ */
+ protected SimpleSelector left;
+
+ /**
+ * The cached value of the '{@link #getCombinator() <em>Combinator</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCombinator()
+ * @generated
+ * @ordered
+ */
+ protected Combinator combinator;
+
+ /**
+ * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRight()
+ * @generated
+ * @ordered
+ */
+ protected Selector right;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CompositeSelectorImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.COMPOSITE_SELECTOR;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SimpleSelector getLeft()
+ {
+ return left;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetLeft(SimpleSelector newLeft, NotificationChain msgs)
+ {
+ SimpleSelector oldLeft = left;
+ left = newLeft;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CssPackage.COMPOSITE_SELECTOR__LEFT, oldLeft, newLeft);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLeft(SimpleSelector newLeft)
+ {
+ if (newLeft != left)
+ {
+ NotificationChain msgs = null;
+ if (left != null)
+ msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CssPackage.COMPOSITE_SELECTOR__LEFT, null, msgs);
+ if (newLeft != null)
+ msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CssPackage.COMPOSITE_SELECTOR__LEFT, null, msgs);
+ msgs = basicSetLeft(newLeft, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.COMPOSITE_SELECTOR__LEFT, newLeft, newLeft));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Combinator getCombinator()
+ {
+ return combinator;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetCombinator(Combinator newCombinator, NotificationChain msgs)
+ {
+ Combinator oldCombinator = combinator;
+ combinator = newCombinator;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CssPackage.COMPOSITE_SELECTOR__COMBINATOR, oldCombinator, newCombinator);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCombinator(Combinator newCombinator)
+ {
+ if (newCombinator != combinator)
+ {
+ NotificationChain msgs = null;
+ if (combinator != null)
+ msgs = ((InternalEObject)combinator).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CssPackage.COMPOSITE_SELECTOR__COMBINATOR, null, msgs);
+ if (newCombinator != null)
+ msgs = ((InternalEObject)newCombinator).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CssPackage.COMPOSITE_SELECTOR__COMBINATOR, null, msgs);
+ msgs = basicSetCombinator(newCombinator, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.COMPOSITE_SELECTOR__COMBINATOR, newCombinator, newCombinator));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Selector getRight()
+ {
+ return right;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetRight(Selector newRight, NotificationChain msgs)
+ {
+ Selector oldRight = right;
+ right = newRight;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CssPackage.COMPOSITE_SELECTOR__RIGHT, oldRight, newRight);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRight(Selector newRight)
+ {
+ if (newRight != right)
+ {
+ NotificationChain msgs = null;
+ if (right != null)
+ msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CssPackage.COMPOSITE_SELECTOR__RIGHT, null, msgs);
+ if (newRight != null)
+ msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CssPackage.COMPOSITE_SELECTOR__RIGHT, null, msgs);
+ msgs = basicSetRight(newRight, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.COMPOSITE_SELECTOR__RIGHT, newRight, newRight));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CssPackage.COMPOSITE_SELECTOR__LEFT:
+ return basicSetLeft(null, msgs);
+ case CssPackage.COMPOSITE_SELECTOR__COMBINATOR:
+ return basicSetCombinator(null, msgs);
+ case CssPackage.COMPOSITE_SELECTOR__RIGHT:
+ return basicSetRight(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case CssPackage.COMPOSITE_SELECTOR__LEFT:
+ return getLeft();
+ case CssPackage.COMPOSITE_SELECTOR__COMBINATOR:
+ return getCombinator();
+ case CssPackage.COMPOSITE_SELECTOR__RIGHT:
+ return getRight();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case CssPackage.COMPOSITE_SELECTOR__LEFT:
+ setLeft((SimpleSelector)newValue);
+ return;
+ case CssPackage.COMPOSITE_SELECTOR__COMBINATOR:
+ setCombinator((Combinator)newValue);
+ return;
+ case CssPackage.COMPOSITE_SELECTOR__RIGHT:
+ setRight((Selector)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.COMPOSITE_SELECTOR__LEFT:
+ setLeft((SimpleSelector)null);
+ return;
+ case CssPackage.COMPOSITE_SELECTOR__COMBINATOR:
+ setCombinator((Combinator)null);
+ return;
+ case CssPackage.COMPOSITE_SELECTOR__RIGHT:
+ setRight((Selector)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.COMPOSITE_SELECTOR__LEFT:
+ return left != null;
+ case CssPackage.COMPOSITE_SELECTOR__COMBINATOR:
+ return combinator != null;
+ case CssPackage.COMPOSITE_SELECTOR__RIGHT:
+ return right != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //CompositeSelectorImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/ContentImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/ContentImpl.java
new file mode 100644
index 00000000000..9a2bcfd1536
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/ContentImpl.java
@@ -0,0 +1,44 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.Content;
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Content</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class ContentImpl extends MinimalEObjectImpl.Container implements Content
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ContentImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.CONTENT;
+ }
+
+} //ContentImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/CssFactoryImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/CssFactoryImpl.java
new file mode 100644
index 00000000000..d85c35efae2
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/CssFactoryImpl.java
@@ -0,0 +1,660 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.ATTRIBUTE_OP;
+import org.eclipse.papyrus.infra.gmfdiag.css.Angle;
+import org.eclipse.papyrus.infra.gmfdiag.css.Attribute;
+import org.eclipse.papyrus.infra.gmfdiag.css.AttributeValue;
+import org.eclipse.papyrus.infra.gmfdiag.css.CSSId;
+import org.eclipse.papyrus.infra.gmfdiag.css.Combinator;
+import org.eclipse.papyrus.infra.gmfdiag.css.CompositeSelector;
+import org.eclipse.papyrus.infra.gmfdiag.css.Content;
+import org.eclipse.papyrus.infra.gmfdiag.css.CssFactory;
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Declaration;
+import org.eclipse.papyrus.infra.gmfdiag.css.Ems;
+import org.eclipse.papyrus.infra.gmfdiag.css.Expression;
+import org.eclipse.papyrus.infra.gmfdiag.css.Exs;
+import org.eclipse.papyrus.infra.gmfdiag.css.Frequency;
+import org.eclipse.papyrus.infra.gmfdiag.css.Function;
+import org.eclipse.papyrus.infra.gmfdiag.css.HexColor;
+import org.eclipse.papyrus.infra.gmfdiag.css.Import;
+import org.eclipse.papyrus.infra.gmfdiag.css.KIND;
+import org.eclipse.papyrus.infra.gmfdiag.css.Length;
+import org.eclipse.papyrus.infra.gmfdiag.css.Media;
+import org.eclipse.papyrus.infra.gmfdiag.css.Name;
+import org.eclipse.papyrus.infra.gmfdiag.css.Page;
+import org.eclipse.papyrus.infra.gmfdiag.css.Percentage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Pseudo;
+import org.eclipse.papyrus.infra.gmfdiag.css.PseudoPage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Ruleset;
+import org.eclipse.papyrus.infra.gmfdiag.css.Selector;
+import org.eclipse.papyrus.infra.gmfdiag.css.SelectorCondition;
+import org.eclipse.papyrus.infra.gmfdiag.css.SimpleSelector;
+import org.eclipse.papyrus.infra.gmfdiag.css.StringValue;
+import org.eclipse.papyrus.infra.gmfdiag.css.Stylesheet;
+import org.eclipse.papyrus.infra.gmfdiag.css.Subterm;
+import org.eclipse.papyrus.infra.gmfdiag.css.Term;
+import org.eclipse.papyrus.infra.gmfdiag.css.Time;
+import org.eclipse.papyrus.infra.gmfdiag.css.UNARY;
+import org.eclipse.papyrus.infra.gmfdiag.css.UnaryOperator;
+import org.eclipse.papyrus.infra.gmfdiag.css.Uri;
+
+/**
+ * <!-- 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/papyrus/infra/gmfdiag/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.CONTENT: return createContent();
+ case CssPackage.IMPORT: return createImport();
+ case CssPackage.MEDIA: return createMedia();
+ case CssPackage.PAGE: return createPage();
+ case CssPackage.PSEUDO_PAGE: return createPseudoPage();
+ case CssPackage.RULESET: return createRuleset();
+ case CssPackage.SELECTOR: return createSelector();
+ case CssPackage.COMPOSITE_SELECTOR: return createCompositeSelector();
+ case CssPackage.SIMPLE_SELECTOR: return createSimpleSelector();
+ case CssPackage.SELECTOR_CONDITION: return createSelectorCondition();
+ case CssPackage.COMBINATOR: return createCombinator();
+ case CssPackage.DECLARATION: return createDeclaration();
+ case CssPackage.EXPRESSION: return createExpression();
+ case CssPackage.SUBTERM: return createSubterm();
+ case CssPackage.TERM: return createTerm();
+ case CssPackage.FUNCTION: return createFunction();
+ case CssPackage.NAME: return createName();
+ case CssPackage.NUMBER: return createNumber();
+ case CssPackage.PERCENTAGE: return createPercentage();
+ case CssPackage.LENGTH: return createLength();
+ case CssPackage.EMS: return createEms();
+ case CssPackage.EXS: return createExs();
+ case CssPackage.ANGLE: return createAngle();
+ case CssPackage.TIME: return createTime();
+ case CssPackage.FREQUENCY: return createFrequency();
+ case CssPackage.URI: return createUri();
+ case CssPackage.STRING_VALUE: return createStringValue();
+ case CssPackage.HEX_COLOR: return createHexColor();
+ case CssPackage.CLASS: return createClass();
+ case CssPackage.ATTRIBUTE: return createAttribute();
+ case CssPackage.ATTRIBUTE_VALUE: return createAttributeValue();
+ case CssPackage.PSEUDO: return createPseudo();
+ case CssPackage.CSS_ID: return createCSSId();
+ case CssPackage.UNARY_OPERATOR: return createUnaryOperator();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue)
+ {
+ switch (eDataType.getClassifierID())
+ {
+ case CssPackage.UNARY:
+ return createUNARYFromString(eDataType, initialValue);
+ case CssPackage.KIND:
+ return createKINDFromString(eDataType, initialValue);
+ case CssPackage.ATTRIBUTE_OP:
+ return createATTRIBUTE_OPFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue)
+ {
+ switch (eDataType.getClassifierID())
+ {
+ case CssPackage.UNARY:
+ return convertUNARYToString(eDataType, instanceValue);
+ case CssPackage.KIND:
+ return convertKINDToString(eDataType, instanceValue);
+ case CssPackage.ATTRIBUTE_OP:
+ return convertATTRIBUTE_OPToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.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 Content createContent()
+ {
+ ContentImpl content = new ContentImpl();
+ return content;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Import createImport()
+ {
+ ImportImpl import_ = new ImportImpl();
+ return import_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Media createMedia()
+ {
+ MediaImpl media = new MediaImpl();
+ return media;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Page createPage()
+ {
+ PageImpl page = new PageImpl();
+ return page;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PseudoPage createPseudoPage()
+ {
+ PseudoPageImpl pseudoPage = new PseudoPageImpl();
+ return pseudoPage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Ruleset createRuleset()
+ {
+ RulesetImpl ruleset = new RulesetImpl();
+ return ruleset;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Selector createSelector()
+ {
+ SelectorImpl selector = new SelectorImpl();
+ return selector;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CompositeSelector createCompositeSelector()
+ {
+ CompositeSelectorImpl compositeSelector = new CompositeSelectorImpl();
+ return compositeSelector;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SimpleSelector createSimpleSelector()
+ {
+ SimpleSelectorImpl simpleSelector = new SimpleSelectorImpl();
+ return simpleSelector;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SelectorCondition createSelectorCondition()
+ {
+ SelectorConditionImpl selectorCondition = new SelectorConditionImpl();
+ return selectorCondition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Combinator createCombinator()
+ {
+ CombinatorImpl combinator = new CombinatorImpl();
+ return combinator;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Declaration createDeclaration()
+ {
+ DeclarationImpl declaration = new DeclarationImpl();
+ return declaration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Expression createExpression()
+ {
+ ExpressionImpl expression = new ExpressionImpl();
+ return expression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Subterm createSubterm()
+ {
+ SubtermImpl subterm = new SubtermImpl();
+ return subterm;
+ }
+
+ /**
+ * <!-- 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 Name createName()
+ {
+ NameImpl name = new NameImpl();
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.papyrus.infra.gmfdiag.css.Number createNumber()
+ {
+ NumberImpl number = new NumberImpl();
+ return number;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Percentage createPercentage()
+ {
+ PercentageImpl percentage = new PercentageImpl();
+ return percentage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Length createLength()
+ {
+ LengthImpl length = new LengthImpl();
+ return length;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Ems createEms()
+ {
+ EmsImpl ems = new EmsImpl();
+ return ems;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Exs createExs()
+ {
+ ExsImpl exs = new ExsImpl();
+ return exs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Angle createAngle()
+ {
+ AngleImpl angle = new AngleImpl();
+ return angle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Time createTime()
+ {
+ TimeImpl time = new TimeImpl();
+ return time;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Frequency createFrequency()
+ {
+ FrequencyImpl frequency = new FrequencyImpl();
+ return frequency;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Uri createUri()
+ {
+ UriImpl uri = new UriImpl();
+ return uri;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StringValue createStringValue()
+ {
+ StringValueImpl stringValue = new StringValueImpl();
+ return stringValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HexColor createHexColor()
+ {
+ HexColorImpl hexColor = new HexColorImpl();
+ return hexColor;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.papyrus.infra.gmfdiag.css.Class createClass()
+ {
+ ClassImpl class_ = new ClassImpl();
+ return class_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Attribute createAttribute()
+ {
+ AttributeImpl attribute = new AttributeImpl();
+ return attribute;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AttributeValue createAttributeValue()
+ {
+ AttributeValueImpl attributeValue = new AttributeValueImpl();
+ return attributeValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Pseudo createPseudo()
+ {
+ PseudoImpl pseudo = new PseudoImpl();
+ return pseudo;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CSSId createCSSId()
+ {
+ CSSIdImpl cssId = new CSSIdImpl();
+ return cssId;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UnaryOperator createUnaryOperator()
+ {
+ UnaryOperatorImpl unaryOperator = new UnaryOperatorImpl();
+ return unaryOperator;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UNARY createUNARYFromString(EDataType eDataType, String initialValue)
+ {
+ UNARY result = UNARY.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertUNARYToString(EDataType eDataType, Object instanceValue)
+ {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public KIND createKINDFromString(EDataType eDataType, String initialValue)
+ {
+ KIND result = KIND.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertKINDToString(EDataType eDataType, Object instanceValue)
+ {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ATTRIBUTE_OP createATTRIBUTE_OPFromString(EDataType eDataType, String initialValue)
+ {
+ ATTRIBUTE_OP result = ATTRIBUTE_OP.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertATTRIBUTE_OPToString(EDataType eDataType, Object instanceValue)
+ {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- 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/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/CssPackageImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/CssPackageImpl.java
new file mode 100644
index 00000000000..3441652cf4f
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/CssPackageImpl.java
@@ -0,0 +1,1781 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.Angle;
+import org.eclipse.papyrus.infra.gmfdiag.css.Attribute;
+import org.eclipse.papyrus.infra.gmfdiag.css.AttributeValue;
+import org.eclipse.papyrus.infra.gmfdiag.css.CSSId;
+import org.eclipse.papyrus.infra.gmfdiag.css.Combinator;
+import org.eclipse.papyrus.infra.gmfdiag.css.CompositeSelector;
+import org.eclipse.papyrus.infra.gmfdiag.css.Content;
+import org.eclipse.papyrus.infra.gmfdiag.css.CssFactory;
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Declaration;
+import org.eclipse.papyrus.infra.gmfdiag.css.Ems;
+import org.eclipse.papyrus.infra.gmfdiag.css.Expression;
+import org.eclipse.papyrus.infra.gmfdiag.css.Exs;
+import org.eclipse.papyrus.infra.gmfdiag.css.Frequency;
+import org.eclipse.papyrus.infra.gmfdiag.css.Function;
+import org.eclipse.papyrus.infra.gmfdiag.css.HexColor;
+import org.eclipse.papyrus.infra.gmfdiag.css.Import;
+import org.eclipse.papyrus.infra.gmfdiag.css.Length;
+import org.eclipse.papyrus.infra.gmfdiag.css.Media;
+import org.eclipse.papyrus.infra.gmfdiag.css.Name;
+import org.eclipse.papyrus.infra.gmfdiag.css.Page;
+import org.eclipse.papyrus.infra.gmfdiag.css.Percentage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Pseudo;
+import org.eclipse.papyrus.infra.gmfdiag.css.PseudoPage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Ruleset;
+import org.eclipse.papyrus.infra.gmfdiag.css.Selector;
+import org.eclipse.papyrus.infra.gmfdiag.css.SelectorCondition;
+import org.eclipse.papyrus.infra.gmfdiag.css.SimpleSelector;
+import org.eclipse.papyrus.infra.gmfdiag.css.StringValue;
+import org.eclipse.papyrus.infra.gmfdiag.css.Stylesheet;
+import org.eclipse.papyrus.infra.gmfdiag.css.Subterm;
+import org.eclipse.papyrus.infra.gmfdiag.css.Term;
+import org.eclipse.papyrus.infra.gmfdiag.css.Time;
+import org.eclipse.papyrus.infra.gmfdiag.css.UnaryOperator;
+import org.eclipse.papyrus.infra.gmfdiag.css.Uri;
+
+/**
+ * <!-- 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 contentEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass importEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass mediaEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass pageEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass pseudoPageEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass rulesetEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass selectorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass compositeSelectorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass simpleSelectorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass selectorConditionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass combinatorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass declarationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass expressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass subtermEClass = 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 nameEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass numberEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass percentageEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass lengthEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass emsEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass exsEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass angleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass timeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass frequencyEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass uriEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass stringValueEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hexColorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass classEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass attributeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass attributeValueEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass pseudoEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass cssIdEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass unaryOperatorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum unaryEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum kindEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum attributE_OPEEnum = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.papyrus.infra.gmfdiag.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_Charset()
+ {
+ return (EAttribute)stylesheetEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStylesheet_Imports()
+ {
+ return (EReference)stylesheetEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStylesheet_Contents()
+ {
+ return (EReference)stylesheetEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getContent()
+ {
+ return contentEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getImport()
+ {
+ return importEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getImport_String()
+ {
+ return (EAttribute)importEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getImport_Uri()
+ {
+ return (EReference)importEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getImport_Media()
+ {
+ return (EAttribute)importEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMedia()
+ {
+ return mediaEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMedia_Media()
+ {
+ return (EAttribute)mediaEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMedia_Rules()
+ {
+ return (EReference)mediaEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPage()
+ {
+ return pageEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPage_Pseudo()
+ {
+ return (EReference)pageEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPage_Declarations()
+ {
+ return (EReference)pageEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPseudoPage()
+ {
+ return pseudoPageEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPseudoPage_Id()
+ {
+ return (EAttribute)pseudoPageEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRuleset()
+ {
+ return rulesetEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRuleset_Selectors()
+ {
+ return (EReference)rulesetEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRuleset_Properties()
+ {
+ return (EReference)rulesetEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSelector()
+ {
+ return selectorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCompositeSelector()
+ {
+ return compositeSelectorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCompositeSelector_Left()
+ {
+ return (EReference)compositeSelectorEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCompositeSelector_Combinator()
+ {
+ return (EReference)compositeSelectorEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCompositeSelector_Right()
+ {
+ return (EReference)compositeSelectorEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSimpleSelector()
+ {
+ return simpleSelectorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSimpleSelector_ElementName()
+ {
+ return (EAttribute)simpleSelectorEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSimpleSelector_Condition()
+ {
+ return (EReference)simpleSelectorEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSelectorCondition()
+ {
+ return selectorConditionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCombinator()
+ {
+ return combinatorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCombinator_Kind()
+ {
+ return (EAttribute)combinatorEClass.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_Expression()
+ {
+ return (EReference)declarationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDeclaration_Important()
+ {
+ return (EAttribute)declarationEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getExpression()
+ {
+ return expressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExpression_Terms()
+ {
+ return (EReference)expressionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExpression_Subterms()
+ {
+ return (EReference)expressionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSubterm()
+ {
+ return subtermEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSubterm_Operator()
+ {
+ return (EAttribute)subtermEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSubterm_Term()
+ {
+ return (EReference)subtermEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTerm()
+ {
+ return termEClass;
+ }
+
+ /**
+ * <!-- 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_Args()
+ {
+ return (EReference)functionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getName_()
+ {
+ return nameEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getName_Value()
+ {
+ return (EAttribute)nameEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getNumber()
+ {
+ return numberEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getNumber_Op()
+ {
+ return (EReference)numberEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNumber_Value()
+ {
+ return (EAttribute)numberEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPercentage()
+ {
+ return percentageEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPercentage_Op()
+ {
+ return (EReference)percentageEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPercentage_Value()
+ {
+ return (EAttribute)percentageEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPercentage_Unit()
+ {
+ return (EAttribute)percentageEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLength()
+ {
+ return lengthEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLength_Op()
+ {
+ return (EReference)lengthEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLength_Value()
+ {
+ return (EAttribute)lengthEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLength_Unit()
+ {
+ return (EAttribute)lengthEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEms()
+ {
+ return emsEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEms_Op()
+ {
+ return (EReference)emsEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getEms_Value()
+ {
+ return (EAttribute)emsEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getEms_Unit()
+ {
+ return (EAttribute)emsEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getExs()
+ {
+ return exsEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExs_Op()
+ {
+ return (EReference)exsEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getExs_Value()
+ {
+ return (EAttribute)exsEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getExs_Unit()
+ {
+ return (EAttribute)exsEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAngle()
+ {
+ return angleEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAngle_Op()
+ {
+ return (EReference)angleEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAngle_Value()
+ {
+ return (EAttribute)angleEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAngle_Unit()
+ {
+ return (EAttribute)angleEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTime()
+ {
+ return timeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTime_Op()
+ {
+ return (EReference)timeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTime_Value()
+ {
+ return (EAttribute)timeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTime_Unit()
+ {
+ return (EAttribute)timeEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFrequency()
+ {
+ return frequencyEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFrequency_Op()
+ {
+ return (EReference)frequencyEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFrequency_Value()
+ {
+ return (EAttribute)frequencyEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFrequency_Unit()
+ {
+ return (EAttribute)frequencyEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getUri()
+ {
+ return uriEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getUri_Value()
+ {
+ return (EAttribute)uriEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getStringValue()
+ {
+ return stringValueEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getStringValue_Value()
+ {
+ return (EAttribute)stringValueEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHexColor()
+ {
+ return hexColorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHexColor_Value()
+ {
+ return (EAttribute)hexColorEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getClass_()
+ {
+ return classEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getClass_Class()
+ {
+ return (EAttribute)classEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAttribute()
+ {
+ return attributeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAttribute_Name()
+ {
+ return (EAttribute)attributeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAttribute_Value()
+ {
+ return (EReference)attributeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAttributeValue()
+ {
+ return attributeValueEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAttributeValue_Operator()
+ {
+ return (EAttribute)attributeValueEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAttributeValue_Value()
+ {
+ return (EAttribute)attributeValueEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPseudo()
+ {
+ return pseudoEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPseudo_Pseudo()
+ {
+ return (EAttribute)pseudoEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPseudo_Args()
+ {
+ return (EAttribute)pseudoEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCSSId()
+ {
+ return cssIdEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCSSId_Value()
+ {
+ return (EAttribute)cssIdEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getUnaryOperator()
+ {
+ return unaryOperatorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getUnaryOperator_Operator()
+ {
+ return (EAttribute)unaryOperatorEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getUNARY()
+ {
+ return unaryEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getKIND()
+ {
+ return kindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getATTRIBUTE_OP()
+ {
+ return attributE_OPEEnum;
+ }
+
+ /**
+ * <!-- 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__CHARSET);
+ createEReference(stylesheetEClass, STYLESHEET__IMPORTS);
+ createEReference(stylesheetEClass, STYLESHEET__CONTENTS);
+
+ contentEClass = createEClass(CONTENT);
+
+ importEClass = createEClass(IMPORT);
+ createEAttribute(importEClass, IMPORT__STRING);
+ createEReference(importEClass, IMPORT__URI);
+ createEAttribute(importEClass, IMPORT__MEDIA);
+
+ mediaEClass = createEClass(MEDIA);
+ createEAttribute(mediaEClass, MEDIA__MEDIA);
+ createEReference(mediaEClass, MEDIA__RULES);
+
+ pageEClass = createEClass(PAGE);
+ createEReference(pageEClass, PAGE__PSEUDO);
+ createEReference(pageEClass, PAGE__DECLARATIONS);
+
+ pseudoPageEClass = createEClass(PSEUDO_PAGE);
+ createEAttribute(pseudoPageEClass, PSEUDO_PAGE__ID);
+
+ rulesetEClass = createEClass(RULESET);
+ createEReference(rulesetEClass, RULESET__SELECTORS);
+ createEReference(rulesetEClass, RULESET__PROPERTIES);
+
+ selectorEClass = createEClass(SELECTOR);
+
+ compositeSelectorEClass = createEClass(COMPOSITE_SELECTOR);
+ createEReference(compositeSelectorEClass, COMPOSITE_SELECTOR__LEFT);
+ createEReference(compositeSelectorEClass, COMPOSITE_SELECTOR__COMBINATOR);
+ createEReference(compositeSelectorEClass, COMPOSITE_SELECTOR__RIGHT);
+
+ simpleSelectorEClass = createEClass(SIMPLE_SELECTOR);
+ createEAttribute(simpleSelectorEClass, SIMPLE_SELECTOR__ELEMENT_NAME);
+ createEReference(simpleSelectorEClass, SIMPLE_SELECTOR__CONDITION);
+
+ selectorConditionEClass = createEClass(SELECTOR_CONDITION);
+
+ combinatorEClass = createEClass(COMBINATOR);
+ createEAttribute(combinatorEClass, COMBINATOR__KIND);
+
+ declarationEClass = createEClass(DECLARATION);
+ createEAttribute(declarationEClass, DECLARATION__PROPERTY);
+ createEReference(declarationEClass, DECLARATION__EXPRESSION);
+ createEAttribute(declarationEClass, DECLARATION__IMPORTANT);
+
+ expressionEClass = createEClass(EXPRESSION);
+ createEReference(expressionEClass, EXPRESSION__TERMS);
+ createEReference(expressionEClass, EXPRESSION__SUBTERMS);
+
+ subtermEClass = createEClass(SUBTERM);
+ createEAttribute(subtermEClass, SUBTERM__OPERATOR);
+ createEReference(subtermEClass, SUBTERM__TERM);
+
+ termEClass = createEClass(TERM);
+
+ functionEClass = createEClass(FUNCTION);
+ createEAttribute(functionEClass, FUNCTION__NAME);
+ createEReference(functionEClass, FUNCTION__ARGS);
+
+ nameEClass = createEClass(NAME);
+ createEAttribute(nameEClass, NAME__VALUE);
+
+ numberEClass = createEClass(NUMBER);
+ createEReference(numberEClass, NUMBER__OP);
+ createEAttribute(numberEClass, NUMBER__VALUE);
+
+ percentageEClass = createEClass(PERCENTAGE);
+ createEReference(percentageEClass, PERCENTAGE__OP);
+ createEAttribute(percentageEClass, PERCENTAGE__VALUE);
+ createEAttribute(percentageEClass, PERCENTAGE__UNIT);
+
+ lengthEClass = createEClass(LENGTH);
+ createEReference(lengthEClass, LENGTH__OP);
+ createEAttribute(lengthEClass, LENGTH__VALUE);
+ createEAttribute(lengthEClass, LENGTH__UNIT);
+
+ emsEClass = createEClass(EMS);
+ createEReference(emsEClass, EMS__OP);
+ createEAttribute(emsEClass, EMS__VALUE);
+ createEAttribute(emsEClass, EMS__UNIT);
+
+ exsEClass = createEClass(EXS);
+ createEReference(exsEClass, EXS__OP);
+ createEAttribute(exsEClass, EXS__VALUE);
+ createEAttribute(exsEClass, EXS__UNIT);
+
+ angleEClass = createEClass(ANGLE);
+ createEReference(angleEClass, ANGLE__OP);
+ createEAttribute(angleEClass, ANGLE__VALUE);
+ createEAttribute(angleEClass, ANGLE__UNIT);
+
+ timeEClass = createEClass(TIME);
+ createEReference(timeEClass, TIME__OP);
+ createEAttribute(timeEClass, TIME__VALUE);
+ createEAttribute(timeEClass, TIME__UNIT);
+
+ frequencyEClass = createEClass(FREQUENCY);
+ createEReference(frequencyEClass, FREQUENCY__OP);
+ createEAttribute(frequencyEClass, FREQUENCY__VALUE);
+ createEAttribute(frequencyEClass, FREQUENCY__UNIT);
+
+ uriEClass = createEClass(URI);
+ createEAttribute(uriEClass, URI__VALUE);
+
+ stringValueEClass = createEClass(STRING_VALUE);
+ createEAttribute(stringValueEClass, STRING_VALUE__VALUE);
+
+ hexColorEClass = createEClass(HEX_COLOR);
+ createEAttribute(hexColorEClass, HEX_COLOR__VALUE);
+
+ classEClass = createEClass(CLASS);
+ createEAttribute(classEClass, CLASS__CLASS);
+
+ attributeEClass = createEClass(ATTRIBUTE);
+ createEAttribute(attributeEClass, ATTRIBUTE__NAME);
+ createEReference(attributeEClass, ATTRIBUTE__VALUE);
+
+ attributeValueEClass = createEClass(ATTRIBUTE_VALUE);
+ createEAttribute(attributeValueEClass, ATTRIBUTE_VALUE__OPERATOR);
+ createEAttribute(attributeValueEClass, ATTRIBUTE_VALUE__VALUE);
+
+ pseudoEClass = createEClass(PSEUDO);
+ createEAttribute(pseudoEClass, PSEUDO__PSEUDO);
+ createEAttribute(pseudoEClass, PSEUDO__ARGS);
+
+ cssIdEClass = createEClass(CSS_ID);
+ createEAttribute(cssIdEClass, CSS_ID__VALUE);
+
+ unaryOperatorEClass = createEClass(UNARY_OPERATOR);
+ createEAttribute(unaryOperatorEClass, UNARY_OPERATOR__OPERATOR);
+
+ // Create enums
+ unaryEEnum = createEEnum(UNARY);
+ kindEEnum = createEEnum(KIND);
+ attributE_OPEEnum = createEEnum(ATTRIBUTE_OP);
+ }
+
+ /**
+ * <!-- 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
+ mediaEClass.getESuperTypes().add(this.getContent());
+ pageEClass.getESuperTypes().add(this.getContent());
+ rulesetEClass.getESuperTypes().add(this.getContent());
+ compositeSelectorEClass.getESuperTypes().add(this.getSelector());
+ simpleSelectorEClass.getESuperTypes().add(this.getSelector());
+ functionEClass.getESuperTypes().add(this.getTerm());
+ nameEClass.getESuperTypes().add(this.getTerm());
+ numberEClass.getESuperTypes().add(this.getTerm());
+ percentageEClass.getESuperTypes().add(this.getTerm());
+ lengthEClass.getESuperTypes().add(this.getTerm());
+ emsEClass.getESuperTypes().add(this.getTerm());
+ exsEClass.getESuperTypes().add(this.getTerm());
+ angleEClass.getESuperTypes().add(this.getTerm());
+ timeEClass.getESuperTypes().add(this.getTerm());
+ frequencyEClass.getESuperTypes().add(this.getTerm());
+ uriEClass.getESuperTypes().add(this.getTerm());
+ stringValueEClass.getESuperTypes().add(this.getTerm());
+ hexColorEClass.getESuperTypes().add(this.getTerm());
+ classEClass.getESuperTypes().add(this.getSelectorCondition());
+ attributeEClass.getESuperTypes().add(this.getSelectorCondition());
+ pseudoEClass.getESuperTypes().add(this.getSelectorCondition());
+ cssIdEClass.getESuperTypes().add(this.getSelectorCondition());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(stylesheetEClass, Stylesheet.class, "Stylesheet", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getStylesheet_Charset(), ecorePackage.getEString(), "charset", null, 0, 1, Stylesheet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getStylesheet_Imports(), this.getImport(), null, "imports", 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_Contents(), this.getContent(), null, "contents", 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(contentEClass, Content.class, "Content", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(importEClass, Import.class, "Import", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getImport_String(), ecorePackage.getEString(), "string", null, 0, 1, Import.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getImport_Uri(), this.getUri(), null, "uri", null, 0, 1, Import.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getImport_Media(), ecorePackage.getEString(), "media", null, 0, -1, Import.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(mediaEClass, Media.class, "Media", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getMedia_Media(), ecorePackage.getEString(), "media", null, 0, -1, Media.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getMedia_Rules(), this.getRuleset(), null, "rules", null, 0, -1, Media.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(pageEClass, Page.class, "Page", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPage_Pseudo(), this.getPseudoPage(), null, "pseudo", null, 0, 1, Page.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPage_Declarations(), this.getDeclaration(), null, "declarations", null, 0, -1, Page.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(pseudoPageEClass, PseudoPage.class, "PseudoPage", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getPseudoPage_Id(), ecorePackage.getEString(), "id", null, 0, 1, PseudoPage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(rulesetEClass, Ruleset.class, "Ruleset", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRuleset_Selectors(), this.getSelector(), null, "selectors", null, 0, -1, Ruleset.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRuleset_Properties(), this.getDeclaration(), null, "properties", null, 0, -1, Ruleset.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(selectorEClass, Selector.class, "Selector", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(compositeSelectorEClass, CompositeSelector.class, "CompositeSelector", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getCompositeSelector_Left(), this.getSimpleSelector(), null, "left", null, 0, 1, CompositeSelector.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getCompositeSelector_Combinator(), this.getCombinator(), null, "combinator", null, 0, 1, CompositeSelector.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getCompositeSelector_Right(), this.getSelector(), null, "right", null, 0, 1, CompositeSelector.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(simpleSelectorEClass, SimpleSelector.class, "SimpleSelector", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getSimpleSelector_ElementName(), ecorePackage.getEString(), "elementName", null, 0, 1, SimpleSelector.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getSimpleSelector_Condition(), this.getSelectorCondition(), null, "condition", null, 0, -1, SimpleSelector.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(selectorConditionEClass, SelectorCondition.class, "SelectorCondition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(combinatorEClass, Combinator.class, "Combinator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getCombinator_Kind(), this.getKIND(), "kind", null, 0, 1, Combinator.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_Expression(), this.getExpression(), null, "expression", 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_Important(), ecorePackage.getEBoolean(), "important", null, 0, 1, Declaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(expressionEClass, Expression.class, "Expression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getExpression_Terms(), this.getTerm(), null, "terms", null, 0, 1, Expression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getExpression_Subterms(), this.getSubterm(), null, "subterms", null, 0, -1, Expression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(subtermEClass, Subterm.class, "Subterm", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getSubterm_Operator(), ecorePackage.getEString(), "operator", null, 0, 1, Subterm.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getSubterm_Term(), this.getTerm(), null, "term", null, 0, 1, Subterm.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(termEClass, Term.class, "Term", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ 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_Args(), this.getExpression(), null, "args", 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(nameEClass, Name.class, "Name", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getName_Value(), ecorePackage.getEString(), "value", null, 0, 1, Name.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(numberEClass, org.eclipse.papyrus.infra.gmfdiag.css.Number.class, "Number", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getNumber_Op(), this.getUnaryOperator(), null, "op", null, 0, 1, org.eclipse.papyrus.infra.gmfdiag.css.Number.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNumber_Value(), ecorePackage.getEString(), "value", null, 0, 1, org.eclipse.papyrus.infra.gmfdiag.css.Number.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(percentageEClass, Percentage.class, "Percentage", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPercentage_Op(), this.getUnaryOperator(), null, "op", null, 0, 1, Percentage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPercentage_Value(), ecorePackage.getEString(), "value", null, 0, 1, Percentage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPercentage_Unit(), ecorePackage.getEString(), "unit", null, 0, 1, Percentage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(lengthEClass, Length.class, "Length", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getLength_Op(), this.getUnaryOperator(), null, "op", null, 0, 1, Length.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getLength_Value(), ecorePackage.getEString(), "value", null, 0, 1, Length.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getLength_Unit(), ecorePackage.getEString(), "unit", null, 0, 1, Length.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(emsEClass, Ems.class, "Ems", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getEms_Op(), this.getUnaryOperator(), null, "op", null, 0, 1, Ems.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getEms_Value(), ecorePackage.getEString(), "value", null, 0, 1, Ems.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getEms_Unit(), ecorePackage.getEString(), "unit", null, 0, 1, Ems.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(exsEClass, Exs.class, "Exs", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getExs_Op(), this.getUnaryOperator(), null, "op", null, 0, 1, Exs.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getExs_Value(), ecorePackage.getEString(), "value", null, 0, 1, Exs.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getExs_Unit(), ecorePackage.getEString(), "unit", null, 0, 1, Exs.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(angleEClass, Angle.class, "Angle", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getAngle_Op(), this.getUnaryOperator(), null, "op", null, 0, 1, Angle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getAngle_Value(), ecorePackage.getEString(), "value", null, 0, 1, Angle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getAngle_Unit(), ecorePackage.getEString(), "unit", null, 0, 1, Angle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(timeEClass, Time.class, "Time", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getTime_Op(), this.getUnaryOperator(), null, "op", null, 0, 1, Time.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getTime_Value(), ecorePackage.getEString(), "value", null, 0, 1, Time.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getTime_Unit(), ecorePackage.getEString(), "unit", null, 0, 1, Time.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(frequencyEClass, Frequency.class, "Frequency", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getFrequency_Op(), this.getUnaryOperator(), null, "op", null, 0, 1, Frequency.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFrequency_Value(), ecorePackage.getEString(), "value", null, 0, 1, Frequency.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFrequency_Unit(), ecorePackage.getEString(), "unit", null, 0, 1, Frequency.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(uriEClass, Uri.class, "Uri", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getUri_Value(), ecorePackage.getEString(), "value", null, 0, 1, Uri.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(stringValueEClass, StringValue.class, "StringValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getStringValue_Value(), ecorePackage.getEString(), "value", null, 0, 1, StringValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(hexColorEClass, HexColor.class, "HexColor", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getHexColor_Value(), ecorePackage.getEString(), "value", null, 0, 1, HexColor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(classEClass, org.eclipse.papyrus.infra.gmfdiag.css.Class.class, "Class", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getClass_Class(), ecorePackage.getEString(), "class", null, 0, 1, org.eclipse.papyrus.infra.gmfdiag.css.Class.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(attributeEClass, Attribute.class, "Attribute", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getAttribute_Name(), ecorePackage.getEString(), "name", null, 0, 1, Attribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getAttribute_Value(), this.getAttributeValue(), null, "value", null, 0, 1, Attribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(attributeValueEClass, AttributeValue.class, "AttributeValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getAttributeValue_Operator(), this.getATTRIBUTE_OP(), "operator", null, 0, 1, AttributeValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getAttributeValue_Value(), ecorePackage.getEString(), "value", null, 0, 1, AttributeValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(pseudoEClass, Pseudo.class, "Pseudo", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getPseudo_Pseudo(), ecorePackage.getEString(), "pseudo", null, 0, 1, Pseudo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPseudo_Args(), ecorePackage.getEString(), "args", null, 0, 1, Pseudo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(cssIdEClass, CSSId.class, "CSSId", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getCSSId_Value(), ecorePackage.getEString(), "value", null, 0, 1, CSSId.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(unaryOperatorEClass, UnaryOperator.class, "UnaryOperator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getUnaryOperator_Operator(), this.getUNARY(), "operator", null, 0, 1, UnaryOperator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Initialize enums and add enum literals
+ initEEnum(unaryEEnum, org.eclipse.papyrus.infra.gmfdiag.css.UNARY.class, "UNARY");
+ addEEnumLiteral(unaryEEnum, org.eclipse.papyrus.infra.gmfdiag.css.UNARY.NEG);
+ addEEnumLiteral(unaryEEnum, org.eclipse.papyrus.infra.gmfdiag.css.UNARY.PLUS);
+
+ initEEnum(kindEEnum, org.eclipse.papyrus.infra.gmfdiag.css.KIND.class, "KIND");
+ addEEnumLiteral(kindEEnum, org.eclipse.papyrus.infra.gmfdiag.css.KIND.FIRST_CHILD);
+ addEEnumLiteral(kindEEnum, org.eclipse.papyrus.infra.gmfdiag.css.KIND.SIBLING);
+
+ initEEnum(attributE_OPEEnum, org.eclipse.papyrus.infra.gmfdiag.css.ATTRIBUTE_OP.class, "ATTRIBUTE_OP");
+ addEEnumLiteral(attributE_OPEEnum, org.eclipse.papyrus.infra.gmfdiag.css.ATTRIBUTE_OP.EQUALS);
+ addEEnumLiteral(attributE_OPEEnum, org.eclipse.papyrus.infra.gmfdiag.css.ATTRIBUTE_OP.CONTAINS);
+ addEEnumLiteral(attributE_OPEEnum, org.eclipse.papyrus.infra.gmfdiag.css.ATTRIBUTE_OP.UNEQUALS);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //CssPackageImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/DeclarationImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/DeclarationImpl.java
new file mode 100644
index 00000000000..1537b344b45
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/DeclarationImpl.java
@@ -0,0 +1,321 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Declaration;
+import org.eclipse.papyrus.infra.gmfdiag.css.Expression;
+
+/**
+ * <!-- 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.papyrus.infra.gmfdiag.css.impl.DeclarationImpl#getProperty <em>Property</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.DeclarationImpl#getExpression <em>Expression</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.DeclarationImpl#isImportant <em>Important</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 #getExpression() <em>Expression</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExpression()
+ * @generated
+ * @ordered
+ */
+ protected Expression expression;
+
+ /**
+ * The default value of the '{@link #isImportant() <em>Important</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isImportant()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IMPORTANT_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isImportant() <em>Important</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isImportant()
+ * @generated
+ * @ordered
+ */
+ protected boolean important = IMPORTANT_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 Expression getExpression()
+ {
+ return expression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetExpression(Expression newExpression, NotificationChain msgs)
+ {
+ Expression oldExpression = expression;
+ expression = newExpression;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CssPackage.DECLARATION__EXPRESSION, oldExpression, newExpression);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExpression(Expression newExpression)
+ {
+ if (newExpression != expression)
+ {
+ NotificationChain msgs = null;
+ if (expression != null)
+ msgs = ((InternalEObject)expression).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CssPackage.DECLARATION__EXPRESSION, null, msgs);
+ if (newExpression != null)
+ msgs = ((InternalEObject)newExpression).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CssPackage.DECLARATION__EXPRESSION, null, msgs);
+ msgs = basicSetExpression(newExpression, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.DECLARATION__EXPRESSION, newExpression, newExpression));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isImportant()
+ {
+ return important;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setImportant(boolean newImportant)
+ {
+ boolean oldImportant = important;
+ important = newImportant;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.DECLARATION__IMPORTANT, oldImportant, important));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CssPackage.DECLARATION__EXPRESSION:
+ return basicSetExpression(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case CssPackage.DECLARATION__PROPERTY:
+ return getProperty();
+ case CssPackage.DECLARATION__EXPRESSION:
+ return getExpression();
+ case CssPackage.DECLARATION__IMPORTANT:
+ return isImportant();
+ }
+ 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__EXPRESSION:
+ setExpression((Expression)newValue);
+ return;
+ case CssPackage.DECLARATION__IMPORTANT:
+ setImportant((Boolean)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__EXPRESSION:
+ setExpression((Expression)null);
+ return;
+ case CssPackage.DECLARATION__IMPORTANT:
+ setImportant(IMPORTANT_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__EXPRESSION:
+ return expression != null;
+ case CssPackage.DECLARATION__IMPORTANT:
+ return important != IMPORTANT_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (property: ");
+ result.append(property);
+ result.append(", important: ");
+ result.append(important);
+ result.append(')');
+ return result.toString();
+ }
+
+} //DeclarationImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/EmsImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/EmsImpl.java
new file mode 100644
index 00000000000..89385d868d3
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/EmsImpl.java
@@ -0,0 +1,320 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Ems;
+import org.eclipse.papyrus.infra.gmfdiag.css.UnaryOperator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Ems</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.EmsImpl#getOp <em>Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.EmsImpl#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.EmsImpl#getUnit <em>Unit</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EmsImpl extends TermImpl implements Ems
+{
+ /**
+ * The cached value of the '{@link #getOp() <em>Op</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOp()
+ * @generated
+ * @ordered
+ */
+ protected UnaryOperator op;
+
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getUnit() <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUnit()
+ * @generated
+ * @ordered
+ */
+ protected static final String UNIT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUnit() <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUnit()
+ * @generated
+ * @ordered
+ */
+ protected String unit = UNIT_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EmsImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.EMS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UnaryOperator getOp()
+ {
+ return op;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOp(UnaryOperator newOp, NotificationChain msgs)
+ {
+ UnaryOperator oldOp = op;
+ op = newOp;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CssPackage.EMS__OP, oldOp, newOp);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOp(UnaryOperator newOp)
+ {
+ if (newOp != op)
+ {
+ NotificationChain msgs = null;
+ if (op != null)
+ msgs = ((InternalEObject)op).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CssPackage.EMS__OP, null, msgs);
+ if (newOp != null)
+ msgs = ((InternalEObject)newOp).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CssPackage.EMS__OP, null, msgs);
+ msgs = basicSetOp(newOp, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.EMS__OP, newOp, newOp));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue)
+ {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.EMS__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getUnit()
+ {
+ return unit;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUnit(String newUnit)
+ {
+ String oldUnit = unit;
+ unit = newUnit;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.EMS__UNIT, oldUnit, unit));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CssPackage.EMS__OP:
+ return basicSetOp(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.EMS__OP:
+ return getOp();
+ case CssPackage.EMS__VALUE:
+ return getValue();
+ case CssPackage.EMS__UNIT:
+ return getUnit();
+ }
+ 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.EMS__OP:
+ setOp((UnaryOperator)newValue);
+ return;
+ case CssPackage.EMS__VALUE:
+ setValue((String)newValue);
+ return;
+ case CssPackage.EMS__UNIT:
+ setUnit((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.EMS__OP:
+ setOp((UnaryOperator)null);
+ return;
+ case CssPackage.EMS__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ case CssPackage.EMS__UNIT:
+ setUnit(UNIT_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.EMS__OP:
+ return op != null;
+ case CssPackage.EMS__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ case CssPackage.EMS__UNIT:
+ return UNIT_EDEFAULT == null ? unit != null : !UNIT_EDEFAULT.equals(unit);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: ");
+ result.append(value);
+ result.append(", unit: ");
+ result.append(unit);
+ result.append(')');
+ return result.toString();
+ }
+
+} //EmsImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/ExpressionImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/ExpressionImpl.java
new file mode 100644
index 00000000000..d9d585bff1e
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/ExpressionImpl.java
@@ -0,0 +1,241 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Expression;
+import org.eclipse.papyrus.infra.gmfdiag.css.Subterm;
+import org.eclipse.papyrus.infra.gmfdiag.css.Term;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.ExpressionImpl#getTerms <em>Terms</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.ExpressionImpl#getSubterms <em>Subterms</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ExpressionImpl extends MinimalEObjectImpl.Container implements Expression
+{
+ /**
+ * The cached value of the '{@link #getTerms() <em>Terms</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTerms()
+ * @generated
+ * @ordered
+ */
+ protected Term terms;
+
+ /**
+ * The cached value of the '{@link #getSubterms() <em>Subterms</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSubterms()
+ * @generated
+ * @ordered
+ */
+ protected EList<Subterm> subterms;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExpressionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.EXPRESSION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Term getTerms()
+ {
+ return terms;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTerms(Term newTerms, NotificationChain msgs)
+ {
+ Term oldTerms = terms;
+ terms = newTerms;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CssPackage.EXPRESSION__TERMS, oldTerms, newTerms);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTerms(Term newTerms)
+ {
+ if (newTerms != terms)
+ {
+ NotificationChain msgs = null;
+ if (terms != null)
+ msgs = ((InternalEObject)terms).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CssPackage.EXPRESSION__TERMS, null, msgs);
+ if (newTerms != null)
+ msgs = ((InternalEObject)newTerms).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CssPackage.EXPRESSION__TERMS, null, msgs);
+ msgs = basicSetTerms(newTerms, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.EXPRESSION__TERMS, newTerms, newTerms));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Subterm> getSubterms()
+ {
+ if (subterms == null)
+ {
+ subterms = new EObjectContainmentEList<Subterm>(Subterm.class, this, CssPackage.EXPRESSION__SUBTERMS);
+ }
+ return subterms;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CssPackage.EXPRESSION__TERMS:
+ return basicSetTerms(null, msgs);
+ case CssPackage.EXPRESSION__SUBTERMS:
+ return ((InternalEList<?>)getSubterms()).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.EXPRESSION__TERMS:
+ return getTerms();
+ case CssPackage.EXPRESSION__SUBTERMS:
+ return getSubterms();
+ }
+ 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.EXPRESSION__TERMS:
+ setTerms((Term)newValue);
+ return;
+ case CssPackage.EXPRESSION__SUBTERMS:
+ getSubterms().clear();
+ getSubterms().addAll((Collection<? extends Subterm>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.EXPRESSION__TERMS:
+ setTerms((Term)null);
+ return;
+ case CssPackage.EXPRESSION__SUBTERMS:
+ getSubterms().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.EXPRESSION__TERMS:
+ return terms != null;
+ case CssPackage.EXPRESSION__SUBTERMS:
+ return subterms != null && !subterms.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ExpressionImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/ExsImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/ExsImpl.java
new file mode 100644
index 00000000000..9a20e4db92c
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/ExsImpl.java
@@ -0,0 +1,320 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Exs;
+import org.eclipse.papyrus.infra.gmfdiag.css.UnaryOperator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Exs</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.ExsImpl#getOp <em>Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.ExsImpl#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.ExsImpl#getUnit <em>Unit</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ExsImpl extends TermImpl implements Exs
+{
+ /**
+ * The cached value of the '{@link #getOp() <em>Op</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOp()
+ * @generated
+ * @ordered
+ */
+ protected UnaryOperator op;
+
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getUnit() <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUnit()
+ * @generated
+ * @ordered
+ */
+ protected static final String UNIT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUnit() <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUnit()
+ * @generated
+ * @ordered
+ */
+ protected String unit = UNIT_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExsImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.EXS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UnaryOperator getOp()
+ {
+ return op;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOp(UnaryOperator newOp, NotificationChain msgs)
+ {
+ UnaryOperator oldOp = op;
+ op = newOp;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CssPackage.EXS__OP, oldOp, newOp);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOp(UnaryOperator newOp)
+ {
+ if (newOp != op)
+ {
+ NotificationChain msgs = null;
+ if (op != null)
+ msgs = ((InternalEObject)op).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CssPackage.EXS__OP, null, msgs);
+ if (newOp != null)
+ msgs = ((InternalEObject)newOp).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CssPackage.EXS__OP, null, msgs);
+ msgs = basicSetOp(newOp, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.EXS__OP, newOp, newOp));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue)
+ {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.EXS__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getUnit()
+ {
+ return unit;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUnit(String newUnit)
+ {
+ String oldUnit = unit;
+ unit = newUnit;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.EXS__UNIT, oldUnit, unit));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CssPackage.EXS__OP:
+ return basicSetOp(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.EXS__OP:
+ return getOp();
+ case CssPackage.EXS__VALUE:
+ return getValue();
+ case CssPackage.EXS__UNIT:
+ return getUnit();
+ }
+ 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.EXS__OP:
+ setOp((UnaryOperator)newValue);
+ return;
+ case CssPackage.EXS__VALUE:
+ setValue((String)newValue);
+ return;
+ case CssPackage.EXS__UNIT:
+ setUnit((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.EXS__OP:
+ setOp((UnaryOperator)null);
+ return;
+ case CssPackage.EXS__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ case CssPackage.EXS__UNIT:
+ setUnit(UNIT_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.EXS__OP:
+ return op != null;
+ case CssPackage.EXS__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ case CssPackage.EXS__UNIT:
+ return UNIT_EDEFAULT == null ? unit != null : !UNIT_EDEFAULT.equals(unit);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: ");
+ result.append(value);
+ result.append(", unit: ");
+ result.append(unit);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ExsImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/FrequencyImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/FrequencyImpl.java
new file mode 100644
index 00000000000..6df8d916760
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/FrequencyImpl.java
@@ -0,0 +1,320 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Frequency;
+import org.eclipse.papyrus.infra.gmfdiag.css.UnaryOperator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Frequency</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.FrequencyImpl#getOp <em>Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.FrequencyImpl#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.FrequencyImpl#getUnit <em>Unit</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FrequencyImpl extends TermImpl implements Frequency
+{
+ /**
+ * The cached value of the '{@link #getOp() <em>Op</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOp()
+ * @generated
+ * @ordered
+ */
+ protected UnaryOperator op;
+
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getUnit() <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUnit()
+ * @generated
+ * @ordered
+ */
+ protected static final String UNIT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUnit() <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUnit()
+ * @generated
+ * @ordered
+ */
+ protected String unit = UNIT_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FrequencyImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.FREQUENCY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UnaryOperator getOp()
+ {
+ return op;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOp(UnaryOperator newOp, NotificationChain msgs)
+ {
+ UnaryOperator oldOp = op;
+ op = newOp;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CssPackage.FREQUENCY__OP, oldOp, newOp);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOp(UnaryOperator newOp)
+ {
+ if (newOp != op)
+ {
+ NotificationChain msgs = null;
+ if (op != null)
+ msgs = ((InternalEObject)op).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CssPackage.FREQUENCY__OP, null, msgs);
+ if (newOp != null)
+ msgs = ((InternalEObject)newOp).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CssPackage.FREQUENCY__OP, null, msgs);
+ msgs = basicSetOp(newOp, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.FREQUENCY__OP, newOp, newOp));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue)
+ {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.FREQUENCY__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getUnit()
+ {
+ return unit;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUnit(String newUnit)
+ {
+ String oldUnit = unit;
+ unit = newUnit;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.FREQUENCY__UNIT, oldUnit, unit));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CssPackage.FREQUENCY__OP:
+ return basicSetOp(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.FREQUENCY__OP:
+ return getOp();
+ case CssPackage.FREQUENCY__VALUE:
+ return getValue();
+ case CssPackage.FREQUENCY__UNIT:
+ return getUnit();
+ }
+ 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.FREQUENCY__OP:
+ setOp((UnaryOperator)newValue);
+ return;
+ case CssPackage.FREQUENCY__VALUE:
+ setValue((String)newValue);
+ return;
+ case CssPackage.FREQUENCY__UNIT:
+ setUnit((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.FREQUENCY__OP:
+ setOp((UnaryOperator)null);
+ return;
+ case CssPackage.FREQUENCY__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ case CssPackage.FREQUENCY__UNIT:
+ setUnit(UNIT_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.FREQUENCY__OP:
+ return op != null;
+ case CssPackage.FREQUENCY__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ case CssPackage.FREQUENCY__UNIT:
+ return UNIT_EDEFAULT == null ? unit != null : !UNIT_EDEFAULT.equals(unit);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: ");
+ result.append(value);
+ result.append(", unit: ");
+ result.append(unit);
+ result.append(')');
+ return result.toString();
+ }
+
+} //FrequencyImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/FunctionImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/FunctionImpl.java
new file mode 100644
index 00000000000..b56f34bd762
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/FunctionImpl.java
@@ -0,0 +1,264 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Expression;
+import org.eclipse.papyrus.infra.gmfdiag.css.Function;
+
+/**
+ * <!-- 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.papyrus.infra.gmfdiag.css.impl.FunctionImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.FunctionImpl#getArgs <em>Args</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FunctionImpl extends TermImpl 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 #getArgs() <em>Args</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getArgs()
+ * @generated
+ * @ordered
+ */
+ protected Expression args;
+
+ /**
+ * <!-- 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 Expression getArgs()
+ {
+ return args;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetArgs(Expression newArgs, NotificationChain msgs)
+ {
+ Expression oldArgs = args;
+ args = newArgs;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CssPackage.FUNCTION__ARGS, oldArgs, newArgs);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setArgs(Expression newArgs)
+ {
+ if (newArgs != args)
+ {
+ NotificationChain msgs = null;
+ if (args != null)
+ msgs = ((InternalEObject)args).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CssPackage.FUNCTION__ARGS, null, msgs);
+ if (newArgs != null)
+ msgs = ((InternalEObject)newArgs).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CssPackage.FUNCTION__ARGS, null, msgs);
+ msgs = basicSetArgs(newArgs, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.FUNCTION__ARGS, newArgs, newArgs));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CssPackage.FUNCTION__ARGS:
+ return basicSetArgs(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__ARGS:
+ return getArgs();
+ }
+ 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__ARGS:
+ setArgs((Expression)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__ARGS:
+ setArgs((Expression)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__ARGS:
+ return args != 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/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/HexColorImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/HexColorImpl.java
new file mode 100644
index 00000000000..3804c1e0966
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/HexColorImpl.java
@@ -0,0 +1,176 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.HexColor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Hex Color</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.HexColorImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class HexColorImpl extends TermImpl implements HexColor
+{
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HexColorImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.HEX_COLOR;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue)
+ {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.HEX_COLOR__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case CssPackage.HEX_COLOR__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case CssPackage.HEX_COLOR__VALUE:
+ setValue((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.HEX_COLOR__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.HEX_COLOR__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: ");
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} //HexColorImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/ImportImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/ImportImpl.java
new file mode 100644
index 00000000000..b8b8a949bc7
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/ImportImpl.java
@@ -0,0 +1,310 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Import;
+import org.eclipse.papyrus.infra.gmfdiag.css.Uri;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Import</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.ImportImpl#getString <em>String</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.ImportImpl#getUri <em>Uri</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.ImportImpl#getMedia <em>Media</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ImportImpl extends MinimalEObjectImpl.Container implements Import
+{
+ /**
+ * The default value of the '{@link #getString() <em>String</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getString()
+ * @generated
+ * @ordered
+ */
+ protected static final String STRING_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getString() <em>String</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getString()
+ * @generated
+ * @ordered
+ */
+ protected String string = STRING_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 cached value of the '{@link #getMedia() <em>Media</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMedia()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> media;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ImportImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.IMPORT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getString()
+ {
+ return string;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setString(String newString)
+ {
+ String oldString = string;
+ string = newString;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.IMPORT__STRING, oldString, string));
+ }
+
+ /**
+ * <!-- 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.IMPORT__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.IMPORT__URI, null, msgs);
+ if (newUri != null)
+ msgs = ((InternalEObject)newUri).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CssPackage.IMPORT__URI, null, msgs);
+ msgs = basicSetUri(newUri, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.IMPORT__URI, newUri, newUri));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getMedia()
+ {
+ if (media == null)
+ {
+ media = new EDataTypeEList<String>(String.class, this, CssPackage.IMPORT__MEDIA);
+ }
+ return media;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CssPackage.IMPORT__URI:
+ return basicSetUri(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.IMPORT__STRING:
+ return getString();
+ case CssPackage.IMPORT__URI:
+ return getUri();
+ case CssPackage.IMPORT__MEDIA:
+ return getMedia();
+ }
+ 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.IMPORT__STRING:
+ setString((String)newValue);
+ return;
+ case CssPackage.IMPORT__URI:
+ setUri((Uri)newValue);
+ return;
+ case CssPackage.IMPORT__MEDIA:
+ getMedia().clear();
+ getMedia().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.IMPORT__STRING:
+ setString(STRING_EDEFAULT);
+ return;
+ case CssPackage.IMPORT__URI:
+ setUri((Uri)null);
+ return;
+ case CssPackage.IMPORT__MEDIA:
+ getMedia().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.IMPORT__STRING:
+ return STRING_EDEFAULT == null ? string != null : !STRING_EDEFAULT.equals(string);
+ case CssPackage.IMPORT__URI:
+ return uri != null;
+ case CssPackage.IMPORT__MEDIA:
+ return media != null && !media.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(" (string: ");
+ result.append(string);
+ result.append(", media: ");
+ result.append(media);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ImportImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/LengthImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/LengthImpl.java
new file mode 100644
index 00000000000..acd356a021f
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/LengthImpl.java
@@ -0,0 +1,320 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Length;
+import org.eclipse.papyrus.infra.gmfdiag.css.UnaryOperator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Length</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.LengthImpl#getOp <em>Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.LengthImpl#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.LengthImpl#getUnit <em>Unit</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class LengthImpl extends TermImpl implements Length
+{
+ /**
+ * The cached value of the '{@link #getOp() <em>Op</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOp()
+ * @generated
+ * @ordered
+ */
+ protected UnaryOperator op;
+
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getUnit() <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUnit()
+ * @generated
+ * @ordered
+ */
+ protected static final String UNIT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUnit() <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUnit()
+ * @generated
+ * @ordered
+ */
+ protected String unit = UNIT_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LengthImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.LENGTH;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UnaryOperator getOp()
+ {
+ return op;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOp(UnaryOperator newOp, NotificationChain msgs)
+ {
+ UnaryOperator oldOp = op;
+ op = newOp;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CssPackage.LENGTH__OP, oldOp, newOp);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOp(UnaryOperator newOp)
+ {
+ if (newOp != op)
+ {
+ NotificationChain msgs = null;
+ if (op != null)
+ msgs = ((InternalEObject)op).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CssPackage.LENGTH__OP, null, msgs);
+ if (newOp != null)
+ msgs = ((InternalEObject)newOp).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CssPackage.LENGTH__OP, null, msgs);
+ msgs = basicSetOp(newOp, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.LENGTH__OP, newOp, newOp));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue)
+ {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.LENGTH__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getUnit()
+ {
+ return unit;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUnit(String newUnit)
+ {
+ String oldUnit = unit;
+ unit = newUnit;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.LENGTH__UNIT, oldUnit, unit));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CssPackage.LENGTH__OP:
+ return basicSetOp(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.LENGTH__OP:
+ return getOp();
+ case CssPackage.LENGTH__VALUE:
+ return getValue();
+ case CssPackage.LENGTH__UNIT:
+ return getUnit();
+ }
+ 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.LENGTH__OP:
+ setOp((UnaryOperator)newValue);
+ return;
+ case CssPackage.LENGTH__VALUE:
+ setValue((String)newValue);
+ return;
+ case CssPackage.LENGTH__UNIT:
+ setUnit((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.LENGTH__OP:
+ setOp((UnaryOperator)null);
+ return;
+ case CssPackage.LENGTH__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ case CssPackage.LENGTH__UNIT:
+ setUnit(UNIT_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.LENGTH__OP:
+ return op != null;
+ case CssPackage.LENGTH__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ case CssPackage.LENGTH__UNIT:
+ return UNIT_EDEFAULT == null ? unit != null : !UNIT_EDEFAULT.equals(unit);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: ");
+ result.append(value);
+ result.append(", unit: ");
+ result.append(unit);
+ result.append(')');
+ return result.toString();
+ }
+
+} //LengthImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/MediaImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/MediaImpl.java
new file mode 100644
index 00000000000..4d66900207b
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/MediaImpl.java
@@ -0,0 +1,219 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Media;
+import org.eclipse.papyrus.infra.gmfdiag.css.Ruleset;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Media</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.MediaImpl#getMedia <em>Media</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.MediaImpl#getRules <em>Rules</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MediaImpl extends ContentImpl implements Media
+{
+ /**
+ * The cached value of the '{@link #getMedia() <em>Media</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMedia()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> media;
+
+ /**
+ * The cached value of the '{@link #getRules() <em>Rules</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRules()
+ * @generated
+ * @ordered
+ */
+ protected EList<Ruleset> rules;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MediaImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.MEDIA;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getMedia()
+ {
+ if (media == null)
+ {
+ media = new EDataTypeEList<String>(String.class, this, CssPackage.MEDIA__MEDIA);
+ }
+ return media;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Ruleset> getRules()
+ {
+ if (rules == null)
+ {
+ rules = new EObjectContainmentEList<Ruleset>(Ruleset.class, this, CssPackage.MEDIA__RULES);
+ }
+ return rules;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CssPackage.MEDIA__RULES:
+ return ((InternalEList<?>)getRules()).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.MEDIA__MEDIA:
+ return getMedia();
+ case CssPackage.MEDIA__RULES:
+ return getRules();
+ }
+ 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.MEDIA__MEDIA:
+ getMedia().clear();
+ getMedia().addAll((Collection<? extends String>)newValue);
+ return;
+ case CssPackage.MEDIA__RULES:
+ getRules().clear();
+ getRules().addAll((Collection<? extends Ruleset>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.MEDIA__MEDIA:
+ getMedia().clear();
+ return;
+ case CssPackage.MEDIA__RULES:
+ getRules().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.MEDIA__MEDIA:
+ return media != null && !media.isEmpty();
+ case CssPackage.MEDIA__RULES:
+ return rules != null && !rules.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(" (media: ");
+ result.append(media);
+ result.append(')');
+ return result.toString();
+ }
+
+} //MediaImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/NameImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/NameImpl.java
new file mode 100644
index 00000000000..4d6381e8241
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/NameImpl.java
@@ -0,0 +1,176 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Name;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Name</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.NameImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class NameImpl extends TermImpl implements Name
+{
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NameImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.NAME;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue)
+ {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.NAME__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case CssPackage.NAME__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case CssPackage.NAME__VALUE:
+ setValue((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.NAME__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.NAME__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: ");
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} //NameImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/NumberImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/NumberImpl.java
new file mode 100644
index 00000000000..9be46a88e74
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/NumberImpl.java
@@ -0,0 +1,263 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.UnaryOperator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Number</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.NumberImpl#getOp <em>Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.NumberImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class NumberImpl extends TermImpl implements org.eclipse.papyrus.infra.gmfdiag.css.Number
+{
+ /**
+ * The cached value of the '{@link #getOp() <em>Op</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOp()
+ * @generated
+ * @ordered
+ */
+ protected UnaryOperator op;
+
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NumberImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.NUMBER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UnaryOperator getOp()
+ {
+ return op;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOp(UnaryOperator newOp, NotificationChain msgs)
+ {
+ UnaryOperator oldOp = op;
+ op = newOp;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CssPackage.NUMBER__OP, oldOp, newOp);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOp(UnaryOperator newOp)
+ {
+ if (newOp != op)
+ {
+ NotificationChain msgs = null;
+ if (op != null)
+ msgs = ((InternalEObject)op).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CssPackage.NUMBER__OP, null, msgs);
+ if (newOp != null)
+ msgs = ((InternalEObject)newOp).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CssPackage.NUMBER__OP, null, msgs);
+ msgs = basicSetOp(newOp, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.NUMBER__OP, newOp, newOp));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue)
+ {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.NUMBER__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CssPackage.NUMBER__OP:
+ return basicSetOp(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.NUMBER__OP:
+ return getOp();
+ case CssPackage.NUMBER__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case CssPackage.NUMBER__OP:
+ setOp((UnaryOperator)newValue);
+ return;
+ case CssPackage.NUMBER__VALUE:
+ setValue((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.NUMBER__OP:
+ setOp((UnaryOperator)null);
+ return;
+ case CssPackage.NUMBER__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.NUMBER__OP:
+ return op != null;
+ case CssPackage.NUMBER__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: ");
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} //NumberImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/PageImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/PageImpl.java
new file mode 100644
index 00000000000..fe83bb0dc11
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/PageImpl.java
@@ -0,0 +1,240 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Declaration;
+import org.eclipse.papyrus.infra.gmfdiag.css.Page;
+import org.eclipse.papyrus.infra.gmfdiag.css.PseudoPage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Page</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.PageImpl#getPseudo <em>Pseudo</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.PageImpl#getDeclarations <em>Declarations</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PageImpl extends ContentImpl implements Page
+{
+ /**
+ * The cached value of the '{@link #getPseudo() <em>Pseudo</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPseudo()
+ * @generated
+ * @ordered
+ */
+ protected PseudoPage pseudo;
+
+ /**
+ * 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 PageImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.PAGE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PseudoPage getPseudo()
+ {
+ return pseudo;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetPseudo(PseudoPage newPseudo, NotificationChain msgs)
+ {
+ PseudoPage oldPseudo = pseudo;
+ pseudo = newPseudo;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CssPackage.PAGE__PSEUDO, oldPseudo, newPseudo);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPseudo(PseudoPage newPseudo)
+ {
+ if (newPseudo != pseudo)
+ {
+ NotificationChain msgs = null;
+ if (pseudo != null)
+ msgs = ((InternalEObject)pseudo).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CssPackage.PAGE__PSEUDO, null, msgs);
+ if (newPseudo != null)
+ msgs = ((InternalEObject)newPseudo).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CssPackage.PAGE__PSEUDO, null, msgs);
+ msgs = basicSetPseudo(newPseudo, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.PAGE__PSEUDO, newPseudo, newPseudo));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Declaration> getDeclarations()
+ {
+ if (declarations == null)
+ {
+ declarations = new EObjectContainmentEList<Declaration>(Declaration.class, this, CssPackage.PAGE__DECLARATIONS);
+ }
+ return declarations;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CssPackage.PAGE__PSEUDO:
+ return basicSetPseudo(null, msgs);
+ case CssPackage.PAGE__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.PAGE__PSEUDO:
+ return getPseudo();
+ case CssPackage.PAGE__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.PAGE__PSEUDO:
+ setPseudo((PseudoPage)newValue);
+ return;
+ case CssPackage.PAGE__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.PAGE__PSEUDO:
+ setPseudo((PseudoPage)null);
+ return;
+ case CssPackage.PAGE__DECLARATIONS:
+ getDeclarations().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.PAGE__PSEUDO:
+ return pseudo != null;
+ case CssPackage.PAGE__DECLARATIONS:
+ return declarations != null && !declarations.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //PageImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/PercentageImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/PercentageImpl.java
new file mode 100644
index 00000000000..844badf90d2
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/PercentageImpl.java
@@ -0,0 +1,320 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Percentage;
+import org.eclipse.papyrus.infra.gmfdiag.css.UnaryOperator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Percentage</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.PercentageImpl#getOp <em>Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.PercentageImpl#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.PercentageImpl#getUnit <em>Unit</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PercentageImpl extends TermImpl implements Percentage
+{
+ /**
+ * The cached value of the '{@link #getOp() <em>Op</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOp()
+ * @generated
+ * @ordered
+ */
+ protected UnaryOperator op;
+
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getUnit() <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUnit()
+ * @generated
+ * @ordered
+ */
+ protected static final String UNIT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUnit() <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUnit()
+ * @generated
+ * @ordered
+ */
+ protected String unit = UNIT_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PercentageImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.PERCENTAGE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UnaryOperator getOp()
+ {
+ return op;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOp(UnaryOperator newOp, NotificationChain msgs)
+ {
+ UnaryOperator oldOp = op;
+ op = newOp;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CssPackage.PERCENTAGE__OP, oldOp, newOp);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOp(UnaryOperator newOp)
+ {
+ if (newOp != op)
+ {
+ NotificationChain msgs = null;
+ if (op != null)
+ msgs = ((InternalEObject)op).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CssPackage.PERCENTAGE__OP, null, msgs);
+ if (newOp != null)
+ msgs = ((InternalEObject)newOp).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CssPackage.PERCENTAGE__OP, null, msgs);
+ msgs = basicSetOp(newOp, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.PERCENTAGE__OP, newOp, newOp));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue)
+ {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.PERCENTAGE__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getUnit()
+ {
+ return unit;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUnit(String newUnit)
+ {
+ String oldUnit = unit;
+ unit = newUnit;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.PERCENTAGE__UNIT, oldUnit, unit));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CssPackage.PERCENTAGE__OP:
+ return basicSetOp(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.PERCENTAGE__OP:
+ return getOp();
+ case CssPackage.PERCENTAGE__VALUE:
+ return getValue();
+ case CssPackage.PERCENTAGE__UNIT:
+ return getUnit();
+ }
+ 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.PERCENTAGE__OP:
+ setOp((UnaryOperator)newValue);
+ return;
+ case CssPackage.PERCENTAGE__VALUE:
+ setValue((String)newValue);
+ return;
+ case CssPackage.PERCENTAGE__UNIT:
+ setUnit((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.PERCENTAGE__OP:
+ setOp((UnaryOperator)null);
+ return;
+ case CssPackage.PERCENTAGE__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ case CssPackage.PERCENTAGE__UNIT:
+ setUnit(UNIT_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.PERCENTAGE__OP:
+ return op != null;
+ case CssPackage.PERCENTAGE__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ case CssPackage.PERCENTAGE__UNIT:
+ return UNIT_EDEFAULT == null ? unit != null : !UNIT_EDEFAULT.equals(unit);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: ");
+ result.append(value);
+ result.append(", unit: ");
+ result.append(unit);
+ result.append(')');
+ return result.toString();
+ }
+
+} //PercentageImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/PseudoImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/PseudoImpl.java
new file mode 100644
index 00000000000..f01a5184144
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/PseudoImpl.java
@@ -0,0 +1,232 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Pseudo;
+
+/**
+ * <!-- 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.papyrus.infra.gmfdiag.css.impl.PseudoImpl#getPseudo <em>Pseudo</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.PseudoImpl#getArgs <em>Args</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PseudoImpl extends SelectorConditionImpl implements Pseudo
+{
+ /**
+ * The default value of the '{@link #getPseudo() <em>Pseudo</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPseudo()
+ * @generated
+ * @ordered
+ */
+ protected static final String PSEUDO_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPseudo() <em>Pseudo</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPseudo()
+ * @generated
+ * @ordered
+ */
+ protected String pseudo = PSEUDO_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getArgs() <em>Args</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getArgs()
+ * @generated
+ * @ordered
+ */
+ protected static final String ARGS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getArgs() <em>Args</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getArgs()
+ * @generated
+ * @ordered
+ */
+ protected String args = ARGS_EDEFAULT;
+
+ /**
+ * <!-- 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 getPseudo()
+ {
+ return pseudo;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPseudo(String newPseudo)
+ {
+ String oldPseudo = pseudo;
+ pseudo = newPseudo;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.PSEUDO__PSEUDO, oldPseudo, pseudo));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getArgs()
+ {
+ return args;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setArgs(String newArgs)
+ {
+ String oldArgs = args;
+ args = newArgs;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.PSEUDO__ARGS, oldArgs, args));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case CssPackage.PSEUDO__PSEUDO:
+ return getPseudo();
+ case CssPackage.PSEUDO__ARGS:
+ return getArgs();
+ }
+ 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__PSEUDO:
+ setPseudo((String)newValue);
+ return;
+ case CssPackage.PSEUDO__ARGS:
+ setArgs((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.PSEUDO__PSEUDO:
+ setPseudo(PSEUDO_EDEFAULT);
+ return;
+ case CssPackage.PSEUDO__ARGS:
+ setArgs(ARGS_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.PSEUDO__PSEUDO:
+ return PSEUDO_EDEFAULT == null ? pseudo != null : !PSEUDO_EDEFAULT.equals(pseudo);
+ case CssPackage.PSEUDO__ARGS:
+ return ARGS_EDEFAULT == null ? args != null : !ARGS_EDEFAULT.equals(args);
+ }
+ 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(" (pseudo: ");
+ result.append(pseudo);
+ result.append(", args: ");
+ result.append(args);
+ result.append(')');
+ return result.toString();
+ }
+
+} //PseudoImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/PseudoPageImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/PseudoPageImpl.java
new file mode 100644
index 00000000000..5343eb90382
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/PseudoPageImpl.java
@@ -0,0 +1,177 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+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;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.PseudoPage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Pseudo Page</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.PseudoPageImpl#getId <em>Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class PseudoPageImpl extends MinimalEObjectImpl.Container implements PseudoPage
+{
+ /**
+ * 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;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PseudoPageImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.PSEUDO_PAGE;
+ }
+
+ /**
+ * <!-- 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.PSEUDO_PAGE__ID, oldId, id));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case CssPackage.PSEUDO_PAGE__ID:
+ return getId();
+ }
+ 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_PAGE__ID:
+ setId((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.PSEUDO_PAGE__ID:
+ setId(ID_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.PSEUDO_PAGE__ID:
+ return ID_EDEFAULT == null ? id != null : !ID_EDEFAULT.equals(id);
+ }
+ 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(" (id: ");
+ result.append(id);
+ result.append(')');
+ return result.toString();
+ }
+
+} //PseudoPageImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/RulesetImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/RulesetImpl.java
new file mode 100644
index 00000000000..a29424eb27e
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/RulesetImpl.java
@@ -0,0 +1,204 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Declaration;
+import org.eclipse.papyrus.infra.gmfdiag.css.Ruleset;
+import org.eclipse.papyrus.infra.gmfdiag.css.Selector;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Ruleset</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.RulesetImpl#getSelectors <em>Selectors</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.RulesetImpl#getProperties <em>Properties</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RulesetImpl extends ContentImpl implements Ruleset
+{
+ /**
+ * 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 #getProperties() <em>Properties</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProperties()
+ * @generated
+ * @ordered
+ */
+ protected EList<Declaration> properties;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RulesetImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.RULESET;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Selector> getSelectors()
+ {
+ if (selectors == null)
+ {
+ selectors = new EObjectContainmentEList<Selector>(Selector.class, this, CssPackage.RULESET__SELECTORS);
+ }
+ return selectors;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Declaration> getProperties()
+ {
+ if (properties == null)
+ {
+ properties = new EObjectContainmentEList<Declaration>(Declaration.class, this, CssPackage.RULESET__PROPERTIES);
+ }
+ return properties;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CssPackage.RULESET__SELECTORS:
+ return ((InternalEList<?>)getSelectors()).basicRemove(otherEnd, msgs);
+ case CssPackage.RULESET__PROPERTIES:
+ return ((InternalEList<?>)getProperties()).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.RULESET__SELECTORS:
+ return getSelectors();
+ case CssPackage.RULESET__PROPERTIES:
+ return getProperties();
+ }
+ 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.RULESET__SELECTORS:
+ getSelectors().clear();
+ getSelectors().addAll((Collection<? extends Selector>)newValue);
+ return;
+ case CssPackage.RULESET__PROPERTIES:
+ getProperties().clear();
+ getProperties().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.RULESET__SELECTORS:
+ getSelectors().clear();
+ return;
+ case CssPackage.RULESET__PROPERTIES:
+ getProperties().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.RULESET__SELECTORS:
+ return selectors != null && !selectors.isEmpty();
+ case CssPackage.RULESET__PROPERTIES:
+ return properties != null && !properties.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //RulesetImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/SelectorConditionImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/SelectorConditionImpl.java
new file mode 100644
index 00000000000..5b08fac74be
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/SelectorConditionImpl.java
@@ -0,0 +1,44 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.SelectorCondition;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Selector Condition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class SelectorConditionImpl extends MinimalEObjectImpl.Container implements SelectorCondition
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SelectorConditionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.SELECTOR_CONDITION;
+ }
+
+} //SelectorConditionImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/SelectorImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/SelectorImpl.java
new file mode 100644
index 00000000000..229b1628b6a
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/SelectorImpl.java
@@ -0,0 +1,44 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Selector;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Selector</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class SelectorImpl extends MinimalEObjectImpl.Container implements 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;
+ }
+
+} //SelectorImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/SimpleSelectorImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/SimpleSelectorImpl.java
new file mode 100644
index 00000000000..4851e032e5b
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/SimpleSelectorImpl.java
@@ -0,0 +1,239 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.SelectorCondition;
+import org.eclipse.papyrus.infra.gmfdiag.css.SimpleSelector;
+
+/**
+ * <!-- 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.papyrus.infra.gmfdiag.css.impl.SimpleSelectorImpl#getElementName <em>Element Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.SimpleSelectorImpl#getCondition <em>Condition</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SimpleSelectorImpl extends SelectorImpl implements SimpleSelector
+{
+ /**
+ * The default value of the '{@link #getElementName() <em>Element Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getElementName()
+ * @generated
+ * @ordered
+ */
+ protected static final String ELEMENT_NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getElementName() <em>Element Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getElementName()
+ * @generated
+ * @ordered
+ */
+ protected String elementName = ELEMENT_NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getCondition() <em>Condition</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCondition()
+ * @generated
+ * @ordered
+ */
+ protected EList<SelectorCondition> condition;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SimpleSelectorImpl()
+ {
+ 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 String getElementName()
+ {
+ return elementName;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setElementName(String newElementName)
+ {
+ String oldElementName = elementName;
+ elementName = newElementName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.SIMPLE_SELECTOR__ELEMENT_NAME, oldElementName, elementName));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<SelectorCondition> getCondition()
+ {
+ if (condition == null)
+ {
+ condition = new EObjectContainmentEList<SelectorCondition>(SelectorCondition.class, this, CssPackage.SIMPLE_SELECTOR__CONDITION);
+ }
+ return condition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CssPackage.SIMPLE_SELECTOR__CONDITION:
+ return ((InternalEList<?>)getCondition()).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_NAME:
+ return getElementName();
+ case CssPackage.SIMPLE_SELECTOR__CONDITION:
+ return getCondition();
+ }
+ 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_NAME:
+ setElementName((String)newValue);
+ return;
+ case CssPackage.SIMPLE_SELECTOR__CONDITION:
+ getCondition().clear();
+ getCondition().addAll((Collection<? extends SelectorCondition>)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_NAME:
+ setElementName(ELEMENT_NAME_EDEFAULT);
+ return;
+ case CssPackage.SIMPLE_SELECTOR__CONDITION:
+ getCondition().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_NAME:
+ return ELEMENT_NAME_EDEFAULT == null ? elementName != null : !ELEMENT_NAME_EDEFAULT.equals(elementName);
+ case CssPackage.SIMPLE_SELECTOR__CONDITION:
+ return condition != null && !condition.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(" (elementName: ");
+ result.append(elementName);
+ result.append(')');
+ return result.toString();
+ }
+
+} //SimpleSelectorImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/StringValueImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/StringValueImpl.java
new file mode 100644
index 00000000000..3b59eeaee09
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/StringValueImpl.java
@@ -0,0 +1,176 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.StringValue;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>String Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.StringValueImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StringValueImpl extends TermImpl implements StringValue
+{
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StringValueImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.STRING_VALUE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue)
+ {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.STRING_VALUE__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case CssPackage.STRING_VALUE__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case CssPackage.STRING_VALUE__VALUE:
+ setValue((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.STRING_VALUE__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.STRING_VALUE__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: ");
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} //StringValueImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/StylesheetImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/StylesheetImpl.java
new file mode 100644
index 00000000000..c6432233e1e
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/StylesheetImpl.java
@@ -0,0 +1,279 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.Content;
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Import;
+import org.eclipse.papyrus.infra.gmfdiag.css.Stylesheet;
+
+/**
+ * <!-- 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.papyrus.infra.gmfdiag.css.impl.StylesheetImpl#getCharset <em>Charset</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.StylesheetImpl#getImports <em>Imports</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.StylesheetImpl#getContents <em>Contents</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StylesheetImpl extends MinimalEObjectImpl.Container implements Stylesheet
+{
+ /**
+ * The default value of the '{@link #getCharset() <em>Charset</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCharset()
+ * @generated
+ * @ordered
+ */
+ protected static final String CHARSET_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getCharset() <em>Charset</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCharset()
+ * @generated
+ * @ordered
+ */
+ protected String charset = CHARSET_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getImports() <em>Imports</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getImports()
+ * @generated
+ * @ordered
+ */
+ protected EList<Import> imports;
+
+ /**
+ * The cached value of the '{@link #getContents() <em>Contents</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getContents()
+ * @generated
+ * @ordered
+ */
+ protected EList<Content> contents;
+
+ /**
+ * <!-- 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 getCharset()
+ {
+ return charset;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCharset(String newCharset)
+ {
+ String oldCharset = charset;
+ charset = newCharset;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.STYLESHEET__CHARSET, oldCharset, charset));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Import> getImports()
+ {
+ if (imports == null)
+ {
+ imports = new EObjectContainmentEList<Import>(Import.class, this, CssPackage.STYLESHEET__IMPORTS);
+ }
+ return imports;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Content> getContents()
+ {
+ if (contents == null)
+ {
+ contents = new EObjectContainmentEList<Content>(Content.class, this, CssPackage.STYLESHEET__CONTENTS);
+ }
+ return contents;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CssPackage.STYLESHEET__IMPORTS:
+ return ((InternalEList<?>)getImports()).basicRemove(otherEnd, msgs);
+ case CssPackage.STYLESHEET__CONTENTS:
+ return ((InternalEList<?>)getContents()).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__CHARSET:
+ return getCharset();
+ case CssPackage.STYLESHEET__IMPORTS:
+ return getImports();
+ case CssPackage.STYLESHEET__CONTENTS:
+ return getContents();
+ }
+ 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__CHARSET:
+ setCharset((String)newValue);
+ return;
+ case CssPackage.STYLESHEET__IMPORTS:
+ getImports().clear();
+ getImports().addAll((Collection<? extends Import>)newValue);
+ return;
+ case CssPackage.STYLESHEET__CONTENTS:
+ getContents().clear();
+ getContents().addAll((Collection<? extends Content>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.STYLESHEET__CHARSET:
+ setCharset(CHARSET_EDEFAULT);
+ return;
+ case CssPackage.STYLESHEET__IMPORTS:
+ getImports().clear();
+ return;
+ case CssPackage.STYLESHEET__CONTENTS:
+ getContents().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.STYLESHEET__CHARSET:
+ return CHARSET_EDEFAULT == null ? charset != null : !CHARSET_EDEFAULT.equals(charset);
+ case CssPackage.STYLESHEET__IMPORTS:
+ return imports != null && !imports.isEmpty();
+ case CssPackage.STYLESHEET__CONTENTS:
+ return contents != null && !contents.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(" (charset: ");
+ result.append(charset);
+ result.append(')');
+ return result.toString();
+ }
+
+} //StylesheetImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/SubtermImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/SubtermImpl.java
new file mode 100644
index 00000000000..7f7001e48cc
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/SubtermImpl.java
@@ -0,0 +1,265 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Subterm;
+import org.eclipse.papyrus.infra.gmfdiag.css.Term;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Subterm</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.SubtermImpl#getOperator <em>Operator</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.SubtermImpl#getTerm <em>Term</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SubtermImpl extends MinimalEObjectImpl.Container implements Subterm
+{
+ /**
+ * The default value of the '{@link #getOperator() <em>Operator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOperator()
+ * @generated
+ * @ordered
+ */
+ protected static final String OPERATOR_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getOperator() <em>Operator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOperator()
+ * @generated
+ * @ordered
+ */
+ protected String operator = OPERATOR_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getTerm() <em>Term</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTerm()
+ * @generated
+ * @ordered
+ */
+ protected Term term;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SubtermImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.SUBTERM;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getOperator()
+ {
+ return operator;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOperator(String newOperator)
+ {
+ String oldOperator = operator;
+ operator = newOperator;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.SUBTERM__OPERATOR, oldOperator, operator));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Term getTerm()
+ {
+ return term;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTerm(Term newTerm, NotificationChain msgs)
+ {
+ Term oldTerm = term;
+ term = newTerm;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CssPackage.SUBTERM__TERM, oldTerm, newTerm);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTerm(Term newTerm)
+ {
+ if (newTerm != term)
+ {
+ NotificationChain msgs = null;
+ if (term != null)
+ msgs = ((InternalEObject)term).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CssPackage.SUBTERM__TERM, null, msgs);
+ if (newTerm != null)
+ msgs = ((InternalEObject)newTerm).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CssPackage.SUBTERM__TERM, null, msgs);
+ msgs = basicSetTerm(newTerm, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.SUBTERM__TERM, newTerm, newTerm));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CssPackage.SUBTERM__TERM:
+ return basicSetTerm(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.SUBTERM__OPERATOR:
+ return getOperator();
+ case CssPackage.SUBTERM__TERM:
+ return getTerm();
+ }
+ 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.SUBTERM__OPERATOR:
+ setOperator((String)newValue);
+ return;
+ case CssPackage.SUBTERM__TERM:
+ setTerm((Term)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.SUBTERM__OPERATOR:
+ setOperator(OPERATOR_EDEFAULT);
+ return;
+ case CssPackage.SUBTERM__TERM:
+ setTerm((Term)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.SUBTERM__OPERATOR:
+ return OPERATOR_EDEFAULT == null ? operator != null : !OPERATOR_EDEFAULT.equals(operator);
+ case CssPackage.SUBTERM__TERM:
+ return term != 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(" (operator: ");
+ result.append(operator);
+ result.append(')');
+ return result.toString();
+ }
+
+} //SubtermImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/TermImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/TermImpl.java
new file mode 100644
index 00000000000..9700f5aa874
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/TermImpl.java
@@ -0,0 +1,44 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Term;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Term</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class TermImpl extends MinimalEObjectImpl.Container implements Term
+{
+ /**
+ * <!-- 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;
+ }
+
+} //TermImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/TimeImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/TimeImpl.java
new file mode 100644
index 00000000000..8f2c7c88153
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/TimeImpl.java
@@ -0,0 +1,320 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Time;
+import org.eclipse.papyrus.infra.gmfdiag.css.UnaryOperator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Time</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.TimeImpl#getOp <em>Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.TimeImpl#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.TimeImpl#getUnit <em>Unit</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class TimeImpl extends TermImpl implements Time
+{
+ /**
+ * The cached value of the '{@link #getOp() <em>Op</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOp()
+ * @generated
+ * @ordered
+ */
+ protected UnaryOperator op;
+
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getUnit() <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUnit()
+ * @generated
+ * @ordered
+ */
+ protected static final String UNIT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUnit() <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUnit()
+ * @generated
+ * @ordered
+ */
+ protected String unit = UNIT_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TimeImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.TIME;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UnaryOperator getOp()
+ {
+ return op;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOp(UnaryOperator newOp, NotificationChain msgs)
+ {
+ UnaryOperator oldOp = op;
+ op = newOp;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CssPackage.TIME__OP, oldOp, newOp);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOp(UnaryOperator newOp)
+ {
+ if (newOp != op)
+ {
+ NotificationChain msgs = null;
+ if (op != null)
+ msgs = ((InternalEObject)op).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CssPackage.TIME__OP, null, msgs);
+ if (newOp != null)
+ msgs = ((InternalEObject)newOp).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CssPackage.TIME__OP, null, msgs);
+ msgs = basicSetOp(newOp, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.TIME__OP, newOp, newOp));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue)
+ {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.TIME__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getUnit()
+ {
+ return unit;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUnit(String newUnit)
+ {
+ String oldUnit = unit;
+ unit = newUnit;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.TIME__UNIT, oldUnit, unit));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CssPackage.TIME__OP:
+ return basicSetOp(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.TIME__OP:
+ return getOp();
+ case CssPackage.TIME__VALUE:
+ return getValue();
+ case CssPackage.TIME__UNIT:
+ return getUnit();
+ }
+ 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.TIME__OP:
+ setOp((UnaryOperator)newValue);
+ return;
+ case CssPackage.TIME__VALUE:
+ setValue((String)newValue);
+ return;
+ case CssPackage.TIME__UNIT:
+ setUnit((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.TIME__OP:
+ setOp((UnaryOperator)null);
+ return;
+ case CssPackage.TIME__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ case CssPackage.TIME__UNIT:
+ setUnit(UNIT_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.TIME__OP:
+ return op != null;
+ case CssPackage.TIME__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ case CssPackage.TIME__UNIT:
+ return UNIT_EDEFAULT == null ? unit != null : !UNIT_EDEFAULT.equals(unit);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: ");
+ result.append(value);
+ result.append(", unit: ");
+ result.append(unit);
+ result.append(')');
+ return result.toString();
+ }
+
+} //TimeImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/UnaryOperatorImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/UnaryOperatorImpl.java
new file mode 100644
index 00000000000..3fd5f7ef03f
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/UnaryOperatorImpl.java
@@ -0,0 +1,178 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+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;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.UNARY;
+import org.eclipse.papyrus.infra.gmfdiag.css.UnaryOperator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Unary Operator</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.UnaryOperatorImpl#getOperator <em>Operator</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class UnaryOperatorImpl extends MinimalEObjectImpl.Container implements UnaryOperator
+{
+ /**
+ * The default value of the '{@link #getOperator() <em>Operator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOperator()
+ * @generated
+ * @ordered
+ */
+ protected static final UNARY OPERATOR_EDEFAULT = UNARY.NEG;
+
+ /**
+ * The cached value of the '{@link #getOperator() <em>Operator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOperator()
+ * @generated
+ * @ordered
+ */
+ protected UNARY operator = OPERATOR_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected UnaryOperatorImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.UNARY_OPERATOR;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UNARY getOperator()
+ {
+ return operator;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOperator(UNARY newOperator)
+ {
+ UNARY oldOperator = operator;
+ operator = newOperator == null ? OPERATOR_EDEFAULT : newOperator;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.UNARY_OPERATOR__OPERATOR, oldOperator, operator));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case CssPackage.UNARY_OPERATOR__OPERATOR:
+ return getOperator();
+ }
+ 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.UNARY_OPERATOR__OPERATOR:
+ setOperator((UNARY)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.UNARY_OPERATOR__OPERATOR:
+ setOperator(OPERATOR_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.UNARY_OPERATOR__OPERATOR:
+ return operator != OPERATOR_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (operator: ");
+ result.append(operator);
+ result.append(')');
+ return result.toString();
+ }
+
+} //UnaryOperatorImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/UriImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/UriImpl.java
new file mode 100644
index 00000000000..c6835752567
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/UriImpl.java
@@ -0,0 +1,176 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Uri;
+
+/**
+ * <!-- 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.papyrus.infra.gmfdiag.css.impl.UriImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class UriImpl extends TermImpl implements Uri
+{
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected 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 String getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue)
+ {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.URI__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case CssPackage.URI__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case CssPackage.URI__VALUE:
+ setValue((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.URI__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.URI__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: ");
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} //UriImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/util/CssAdapterFactory.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/util/CssAdapterFactory.java
new file mode 100644
index 00000000000..f400f17f94c
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/util/CssAdapterFactory.java
@@ -0,0 +1,845 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.Angle;
+import org.eclipse.papyrus.infra.gmfdiag.css.Attribute;
+import org.eclipse.papyrus.infra.gmfdiag.css.AttributeValue;
+import org.eclipse.papyrus.infra.gmfdiag.css.CSSId;
+import org.eclipse.papyrus.infra.gmfdiag.css.Combinator;
+import org.eclipse.papyrus.infra.gmfdiag.css.CompositeSelector;
+import org.eclipse.papyrus.infra.gmfdiag.css.Content;
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Declaration;
+import org.eclipse.papyrus.infra.gmfdiag.css.Ems;
+import org.eclipse.papyrus.infra.gmfdiag.css.Expression;
+import org.eclipse.papyrus.infra.gmfdiag.css.Exs;
+import org.eclipse.papyrus.infra.gmfdiag.css.Frequency;
+import org.eclipse.papyrus.infra.gmfdiag.css.Function;
+import org.eclipse.papyrus.infra.gmfdiag.css.HexColor;
+import org.eclipse.papyrus.infra.gmfdiag.css.Import;
+import org.eclipse.papyrus.infra.gmfdiag.css.Length;
+import org.eclipse.papyrus.infra.gmfdiag.css.Media;
+import org.eclipse.papyrus.infra.gmfdiag.css.Name;
+import org.eclipse.papyrus.infra.gmfdiag.css.Page;
+import org.eclipse.papyrus.infra.gmfdiag.css.Percentage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Pseudo;
+import org.eclipse.papyrus.infra.gmfdiag.css.PseudoPage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Ruleset;
+import org.eclipse.papyrus.infra.gmfdiag.css.Selector;
+import org.eclipse.papyrus.infra.gmfdiag.css.SelectorCondition;
+import org.eclipse.papyrus.infra.gmfdiag.css.SimpleSelector;
+import org.eclipse.papyrus.infra.gmfdiag.css.StringValue;
+import org.eclipse.papyrus.infra.gmfdiag.css.Stylesheet;
+import org.eclipse.papyrus.infra.gmfdiag.css.Subterm;
+import org.eclipse.papyrus.infra.gmfdiag.css.Term;
+import org.eclipse.papyrus.infra.gmfdiag.css.Time;
+import org.eclipse.papyrus.infra.gmfdiag.css.UnaryOperator;
+import org.eclipse.papyrus.infra.gmfdiag.css.Uri;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.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 caseContent(Content object)
+ {
+ return createContentAdapter();
+ }
+ @Override
+ public Adapter caseImport(Import object)
+ {
+ return createImportAdapter();
+ }
+ @Override
+ public Adapter caseMedia(Media object)
+ {
+ return createMediaAdapter();
+ }
+ @Override
+ public Adapter casePage(Page object)
+ {
+ return createPageAdapter();
+ }
+ @Override
+ public Adapter casePseudoPage(PseudoPage object)
+ {
+ return createPseudoPageAdapter();
+ }
+ @Override
+ public Adapter caseRuleset(Ruleset object)
+ {
+ return createRulesetAdapter();
+ }
+ @Override
+ public Adapter caseSelector(Selector object)
+ {
+ return createSelectorAdapter();
+ }
+ @Override
+ public Adapter caseCompositeSelector(CompositeSelector object)
+ {
+ return createCompositeSelectorAdapter();
+ }
+ @Override
+ public Adapter caseSimpleSelector(SimpleSelector object)
+ {
+ return createSimpleSelectorAdapter();
+ }
+ @Override
+ public Adapter caseSelectorCondition(SelectorCondition object)
+ {
+ return createSelectorConditionAdapter();
+ }
+ @Override
+ public Adapter caseCombinator(Combinator object)
+ {
+ return createCombinatorAdapter();
+ }
+ @Override
+ public Adapter caseDeclaration(Declaration object)
+ {
+ return createDeclarationAdapter();
+ }
+ @Override
+ public Adapter caseExpression(Expression object)
+ {
+ return createExpressionAdapter();
+ }
+ @Override
+ public Adapter caseSubterm(Subterm object)
+ {
+ return createSubtermAdapter();
+ }
+ @Override
+ public Adapter caseTerm(Term object)
+ {
+ return createTermAdapter();
+ }
+ @Override
+ public Adapter caseFunction(Function object)
+ {
+ return createFunctionAdapter();
+ }
+ @Override
+ public Adapter caseName(Name object)
+ {
+ return createNameAdapter();
+ }
+ @Override
+ public Adapter caseNumber(org.eclipse.papyrus.infra.gmfdiag.css.Number object)
+ {
+ return createNumberAdapter();
+ }
+ @Override
+ public Adapter casePercentage(Percentage object)
+ {
+ return createPercentageAdapter();
+ }
+ @Override
+ public Adapter caseLength(Length object)
+ {
+ return createLengthAdapter();
+ }
+ @Override
+ public Adapter caseEms(Ems object)
+ {
+ return createEmsAdapter();
+ }
+ @Override
+ public Adapter caseExs(Exs object)
+ {
+ return createExsAdapter();
+ }
+ @Override
+ public Adapter caseAngle(Angle object)
+ {
+ return createAngleAdapter();
+ }
+ @Override
+ public Adapter caseTime(Time object)
+ {
+ return createTimeAdapter();
+ }
+ @Override
+ public Adapter caseFrequency(Frequency object)
+ {
+ return createFrequencyAdapter();
+ }
+ @Override
+ public Adapter caseUri(Uri object)
+ {
+ return createUriAdapter();
+ }
+ @Override
+ public Adapter caseStringValue(StringValue object)
+ {
+ return createStringValueAdapter();
+ }
+ @Override
+ public Adapter caseHexColor(HexColor object)
+ {
+ return createHexColorAdapter();
+ }
+ @Override
+ public Adapter caseClass(org.eclipse.papyrus.infra.gmfdiag.css.Class object)
+ {
+ return createClassAdapter();
+ }
+ @Override
+ public Adapter caseAttribute(Attribute object)
+ {
+ return createAttributeAdapter();
+ }
+ @Override
+ public Adapter caseAttributeValue(AttributeValue object)
+ {
+ return createAttributeValueAdapter();
+ }
+ @Override
+ public Adapter casePseudo(Pseudo object)
+ {
+ return createPseudoAdapter();
+ }
+ @Override
+ public Adapter caseCSSId(CSSId object)
+ {
+ return createCSSIdAdapter();
+ }
+ @Override
+ public Adapter caseUnaryOperator(UnaryOperator object)
+ {
+ return createUnaryOperatorAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object)
+ {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target)
+ {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.gmfdiag.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.papyrus.infra.gmfdiag.css.Stylesheet
+ * @generated
+ */
+ public Adapter createStylesheetAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Content <em>Content</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Content
+ * @generated
+ */
+ public Adapter createContentAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Import <em>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.papyrus.infra.gmfdiag.css.Import
+ * @generated
+ */
+ public Adapter createImportAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Media <em>Media</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Media
+ * @generated
+ */
+ public Adapter createMediaAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Page <em>Page</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Page
+ * @generated
+ */
+ public Adapter createPageAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.gmfdiag.css.PseudoPage <em>Pseudo Page</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.PseudoPage
+ * @generated
+ */
+ public Adapter createPseudoPageAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Ruleset <em>Ruleset</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Ruleset
+ * @generated
+ */
+ public Adapter createRulesetAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.gmfdiag.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.papyrus.infra.gmfdiag.css.Selector
+ * @generated
+ */
+ public Adapter createSelectorAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.gmfdiag.css.CompositeSelector <em>Composite 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.papyrus.infra.gmfdiag.css.CompositeSelector
+ * @generated
+ */
+ public Adapter createCompositeSelectorAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.gmfdiag.css.SimpleSelector <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.papyrus.infra.gmfdiag.css.SimpleSelector
+ * @generated
+ */
+ public Adapter createSimpleSelectorAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.gmfdiag.css.SelectorCondition <em>Selector Condition</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.SelectorCondition
+ * @generated
+ */
+ public Adapter createSelectorConditionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Combinator <em>Combinator</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Combinator
+ * @generated
+ */
+ public Adapter createCombinatorAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.gmfdiag.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.papyrus.infra.gmfdiag.css.Declaration
+ * @generated
+ */
+ public Adapter createDeclarationAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Expression <em>Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Expression
+ * @generated
+ */
+ public Adapter createExpressionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Subterm <em>Subterm</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Subterm
+ * @generated
+ */
+ public Adapter createSubtermAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.gmfdiag.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.papyrus.infra.gmfdiag.css.Term
+ * @generated
+ */
+ public Adapter createTermAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.gmfdiag.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.papyrus.infra.gmfdiag.css.Function
+ * @generated
+ */
+ public Adapter createFunctionAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Name <em>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.papyrus.infra.gmfdiag.css.Name
+ * @generated
+ */
+ public Adapter createNameAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Number <em>Number</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Number
+ * @generated
+ */
+ public Adapter createNumberAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Percentage <em>Percentage</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Percentage
+ * @generated
+ */
+ public Adapter createPercentageAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Length <em>Length</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Length
+ * @generated
+ */
+ public Adapter createLengthAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Ems <em>Ems</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Ems
+ * @generated
+ */
+ public Adapter createEmsAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Exs <em>Exs</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Exs
+ * @generated
+ */
+ public Adapter createExsAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Angle <em>Angle</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Angle
+ * @generated
+ */
+ public Adapter createAngleAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Time <em>Time</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Time
+ * @generated
+ */
+ public Adapter createTimeAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Frequency <em>Frequency</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Frequency
+ * @generated
+ */
+ public Adapter createFrequencyAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.gmfdiag.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.papyrus.infra.gmfdiag.css.Uri
+ * @generated
+ */
+ public Adapter createUriAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.gmfdiag.css.StringValue <em>String Value</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.StringValue
+ * @generated
+ */
+ public Adapter createStringValueAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.gmfdiag.css.HexColor <em>Hex Color</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.HexColor
+ * @generated
+ */
+ public Adapter createHexColorAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Class <em>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.papyrus.infra.gmfdiag.css.Class
+ * @generated
+ */
+ public Adapter createClassAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Attribute <em>Attribute</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Attribute
+ * @generated
+ */
+ public Adapter createAttributeAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.gmfdiag.css.AttributeValue <em>Attribute Value</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.AttributeValue
+ * @generated
+ */
+ public Adapter createAttributeValueAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.gmfdiag.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.papyrus.infra.gmfdiag.css.Pseudo
+ * @generated
+ */
+ public Adapter createPseudoAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.gmfdiag.css.CSSId <em>CSS Id</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CSSId
+ * @generated
+ */
+ public Adapter createCSSIdAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.infra.gmfdiag.css.UnaryOperator <em>Unary Operator</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.UnaryOperator
+ * @generated
+ */
+ public Adapter createUnaryOperatorAdapter()
+ {
+ 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/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/util/CssSwitch.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/util/CssSwitch.java
new file mode 100644
index 00000000000..ca75dea3081
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/util/CssSwitch.java
@@ -0,0 +1,956 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.Angle;
+import org.eclipse.papyrus.infra.gmfdiag.css.Attribute;
+import org.eclipse.papyrus.infra.gmfdiag.css.AttributeValue;
+import org.eclipse.papyrus.infra.gmfdiag.css.CSSId;
+import org.eclipse.papyrus.infra.gmfdiag.css.Combinator;
+import org.eclipse.papyrus.infra.gmfdiag.css.CompositeSelector;
+import org.eclipse.papyrus.infra.gmfdiag.css.Content;
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Declaration;
+import org.eclipse.papyrus.infra.gmfdiag.css.Ems;
+import org.eclipse.papyrus.infra.gmfdiag.css.Expression;
+import org.eclipse.papyrus.infra.gmfdiag.css.Exs;
+import org.eclipse.papyrus.infra.gmfdiag.css.Frequency;
+import org.eclipse.papyrus.infra.gmfdiag.css.Function;
+import org.eclipse.papyrus.infra.gmfdiag.css.HexColor;
+import org.eclipse.papyrus.infra.gmfdiag.css.Import;
+import org.eclipse.papyrus.infra.gmfdiag.css.Length;
+import org.eclipse.papyrus.infra.gmfdiag.css.Media;
+import org.eclipse.papyrus.infra.gmfdiag.css.Name;
+import org.eclipse.papyrus.infra.gmfdiag.css.Page;
+import org.eclipse.papyrus.infra.gmfdiag.css.Percentage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Pseudo;
+import org.eclipse.papyrus.infra.gmfdiag.css.PseudoPage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Ruleset;
+import org.eclipse.papyrus.infra.gmfdiag.css.Selector;
+import org.eclipse.papyrus.infra.gmfdiag.css.SelectorCondition;
+import org.eclipse.papyrus.infra.gmfdiag.css.SimpleSelector;
+import org.eclipse.papyrus.infra.gmfdiag.css.StringValue;
+import org.eclipse.papyrus.infra.gmfdiag.css.Stylesheet;
+import org.eclipse.papyrus.infra.gmfdiag.css.Subterm;
+import org.eclipse.papyrus.infra.gmfdiag.css.Term;
+import org.eclipse.papyrus.infra.gmfdiag.css.Time;
+import org.eclipse.papyrus.infra.gmfdiag.css.UnaryOperator;
+import org.eclipse.papyrus.infra.gmfdiag.css.Uri;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.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.CONTENT:
+ {
+ Content content = (Content)theEObject;
+ T result = caseContent(content);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CssPackage.IMPORT:
+ {
+ Import import_ = (Import)theEObject;
+ T result = caseImport(import_);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CssPackage.MEDIA:
+ {
+ Media media = (Media)theEObject;
+ T result = caseMedia(media);
+ if (result == null) result = caseContent(media);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CssPackage.PAGE:
+ {
+ Page page = (Page)theEObject;
+ T result = casePage(page);
+ if (result == null) result = caseContent(page);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CssPackage.PSEUDO_PAGE:
+ {
+ PseudoPage pseudoPage = (PseudoPage)theEObject;
+ T result = casePseudoPage(pseudoPage);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CssPackage.RULESET:
+ {
+ Ruleset ruleset = (Ruleset)theEObject;
+ T result = caseRuleset(ruleset);
+ if (result == null) result = caseContent(ruleset);
+ 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.COMPOSITE_SELECTOR:
+ {
+ CompositeSelector compositeSelector = (CompositeSelector)theEObject;
+ T result = caseCompositeSelector(compositeSelector);
+ if (result == null) result = caseSelector(compositeSelector);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CssPackage.SIMPLE_SELECTOR:
+ {
+ SimpleSelector simpleSelector = (SimpleSelector)theEObject;
+ T result = caseSimpleSelector(simpleSelector);
+ if (result == null) result = caseSelector(simpleSelector);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CssPackage.SELECTOR_CONDITION:
+ {
+ SelectorCondition selectorCondition = (SelectorCondition)theEObject;
+ T result = caseSelectorCondition(selectorCondition);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CssPackage.COMBINATOR:
+ {
+ Combinator combinator = (Combinator)theEObject;
+ T result = caseCombinator(combinator);
+ 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.EXPRESSION:
+ {
+ Expression expression = (Expression)theEObject;
+ T result = caseExpression(expression);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CssPackage.SUBTERM:
+ {
+ Subterm subterm = (Subterm)theEObject;
+ T result = caseSubterm(subterm);
+ 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 = caseTerm(function);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CssPackage.NAME:
+ {
+ Name name = (Name)theEObject;
+ T result = caseName(name);
+ if (result == null) result = caseTerm(name);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CssPackage.NUMBER:
+ {
+ org.eclipse.papyrus.infra.gmfdiag.css.Number number = (org.eclipse.papyrus.infra.gmfdiag.css.Number)theEObject;
+ T result = caseNumber(number);
+ if (result == null) result = caseTerm(number);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CssPackage.PERCENTAGE:
+ {
+ Percentage percentage = (Percentage)theEObject;
+ T result = casePercentage(percentage);
+ if (result == null) result = caseTerm(percentage);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CssPackage.LENGTH:
+ {
+ Length length = (Length)theEObject;
+ T result = caseLength(length);
+ if (result == null) result = caseTerm(length);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CssPackage.EMS:
+ {
+ Ems ems = (Ems)theEObject;
+ T result = caseEms(ems);
+ if (result == null) result = caseTerm(ems);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CssPackage.EXS:
+ {
+ Exs exs = (Exs)theEObject;
+ T result = caseExs(exs);
+ if (result == null) result = caseTerm(exs);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CssPackage.ANGLE:
+ {
+ Angle angle = (Angle)theEObject;
+ T result = caseAngle(angle);
+ if (result == null) result = caseTerm(angle);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CssPackage.TIME:
+ {
+ Time time = (Time)theEObject;
+ T result = caseTime(time);
+ if (result == null) result = caseTerm(time);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CssPackage.FREQUENCY:
+ {
+ Frequency frequency = (Frequency)theEObject;
+ T result = caseFrequency(frequency);
+ if (result == null) result = caseTerm(frequency);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CssPackage.URI:
+ {
+ Uri uri = (Uri)theEObject;
+ T result = caseUri(uri);
+ if (result == null) result = caseTerm(uri);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CssPackage.STRING_VALUE:
+ {
+ StringValue stringValue = (StringValue)theEObject;
+ T result = caseStringValue(stringValue);
+ if (result == null) result = caseTerm(stringValue);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CssPackage.HEX_COLOR:
+ {
+ HexColor hexColor = (HexColor)theEObject;
+ T result = caseHexColor(hexColor);
+ if (result == null) result = caseTerm(hexColor);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CssPackage.CLASS:
+ {
+ org.eclipse.papyrus.infra.gmfdiag.css.Class class_ = (org.eclipse.papyrus.infra.gmfdiag.css.Class)theEObject;
+ T result = caseClass(class_);
+ if (result == null) result = caseSelectorCondition(class_);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CssPackage.ATTRIBUTE:
+ {
+ Attribute attribute = (Attribute)theEObject;
+ T result = caseAttribute(attribute);
+ if (result == null) result = caseSelectorCondition(attribute);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CssPackage.ATTRIBUTE_VALUE:
+ {
+ AttributeValue attributeValue = (AttributeValue)theEObject;
+ T result = caseAttributeValue(attributeValue);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CssPackage.PSEUDO:
+ {
+ Pseudo pseudo = (Pseudo)theEObject;
+ T result = casePseudo(pseudo);
+ if (result == null) result = caseSelectorCondition(pseudo);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CssPackage.CSS_ID:
+ {
+ CSSId cssId = (CSSId)theEObject;
+ T result = caseCSSId(cssId);
+ if (result == null) result = caseSelectorCondition(cssId);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case CssPackage.UNARY_OPERATOR:
+ {
+ UnaryOperator unaryOperator = (UnaryOperator)theEObject;
+ T result = caseUnaryOperator(unaryOperator);
+ 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>Content</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>Content</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseContent(Content object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>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>Import</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseImport(Import object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Media</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>Media</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMedia(Media object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Page</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>Page</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePage(Page object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Pseudo Page</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 Page</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePseudoPage(PseudoPage object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Ruleset</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>Ruleset</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRuleset(Ruleset 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>Composite 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>Composite Selector</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCompositeSelector(CompositeSelector 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 caseSimpleSelector(SimpleSelector object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Selector Condition</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 Condition</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSelectorCondition(SelectorCondition object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Combinator</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>Combinator</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCombinator(Combinator 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>Expression</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Expression</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseExpression(Expression object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Subterm</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>Subterm</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSubterm(Subterm 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>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>Name</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseName(Name object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Number</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>Number</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNumber(org.eclipse.papyrus.infra.gmfdiag.css.Number object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Percentage</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>Percentage</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePercentage(Percentage object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Length</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>Length</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseLength(Length object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Ems</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>Ems</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEms(Ems object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Exs</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>Exs</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseExs(Exs object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Angle</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>Angle</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAngle(Angle object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Time</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>Time</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTime(Time object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Frequency</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>Frequency</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFrequency(Frequency 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>String Value</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>String Value</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStringValue(StringValue object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Hex Color</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>Hex Color</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseHexColor(HexColor object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>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>Class</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseClass(org.eclipse.papyrus.infra.gmfdiag.css.Class object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Attribute</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>Attribute</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAttribute(Attribute object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Attribute Value</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>Attribute Value</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAttributeValue(AttributeValue 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>CSS Id</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 Id</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCSSId(CSSId object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Unary Operator</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Unary Operator</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseUnaryOperator(UnaryOperator 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/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/CSSAntlrTokenFileProvider.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/CSSAntlrTokenFileProvider.java
new file mode 100644
index 00000000000..c2dcdf45f4f
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/CSSAntlrTokenFileProvider.java
@@ -0,0 +1,15 @@
+/*
+* generated by Xtext
+*/
+package org.eclipse.papyrus.infra.gmfdiag.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/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.tokens");
+ }
+}
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/CSSParser.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/CSSParser.java
new file mode 100644
index 00000000000..3b459a022d0
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/CSSParser.java
@@ -0,0 +1,39 @@
+/*
+* generated by Xtext
+*/
+package org.eclipse.papyrus.infra.gmfdiag.parser.antlr;
+
+import com.google.inject.Inject;
+
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.papyrus.infra.gmfdiag.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_ML_COMMENT");
+ }
+
+ @Override
+ protected org.eclipse.papyrus.infra.gmfdiag.parser.antlr.internal.InternalCSSParser createParser(XtextTokenStream stream) {
+ return new org.eclipse.papyrus.infra.gmfdiag.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/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g
new file mode 100644
index 00000000000..79c5e0c854d
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g
@@ -0,0 +1,2794 @@
+/*
+* generated by Xtext
+*/
+grammar InternalCSS;
+
+options {
+ superClass=AbstractInternalAntlrParser;
+
+}
+
+@lexer::header {
+package org.eclipse.papyrus.infra.gmfdiag.parser.antlr.internal;
+
+// Hack: Use our own Lexer superclass by means of import.
+// Currently there is no other way to specify the superclass for the lexer.
+import org.eclipse.xtext.parser.antlr.Lexer;
+}
+
+@parser::header {
+package org.eclipse.papyrus.infra.gmfdiag.parser.antlr.internal;
+
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.common.util.Enumerator;
+import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
+import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
+import org.eclipse.papyrus.infra.gmfdiag.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(); }:
+(( otherlv_0='@charset '
+ {
+ newLeafNode(otherlv_0, grammarAccess.getStylesheetAccess().getCharsetKeyword_0_0());
+ }
+(
+(
+ lv_charset_1_0=RULE_STRING
+ {
+ newLeafNode(lv_charset_1_0, grammarAccess.getStylesheetAccess().getCharsetSTRINGTerminalRuleCall_0_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getStylesheetRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "charset",
+ lv_charset_1_0,
+ "STRING");
+ }
+
+)
+) otherlv_2=';'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getStylesheetAccess().getSemicolonKeyword_0_2());
+ }
+)?(this_WS_3=RULE_WS
+ {
+ newLeafNode(this_WS_3, grammarAccess.getStylesheetAccess().getWSTerminalRuleCall_1_0());
+ }
+
+ |this_CDO_4=RULE_CDO
+ {
+ newLeafNode(this_CDO_4, grammarAccess.getStylesheetAccess().getCDOTerminalRuleCall_1_1());
+ }
+
+ |this_CDC_5=RULE_CDC
+ {
+ newLeafNode(this_CDC_5, grammarAccess.getStylesheetAccess().getCDCTerminalRuleCall_1_2());
+ }
+)*((
+(
+ {
+ newCompositeNode(grammarAccess.getStylesheetAccess().getImportsImportParserRuleCall_2_0_0());
+ }
+ lv_imports_6_0=ruleImport {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getStylesheetRule());
+ }
+ add(
+ $current,
+ "imports",
+ lv_imports_6_0,
+ "Import");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)((this_CDO_7=RULE_CDO
+ {
+ newLeafNode(this_CDO_7, grammarAccess.getStylesheetAccess().getCDOTerminalRuleCall_2_1_0_0());
+ }
+(this_WS_8=RULE_WS
+ {
+ newLeafNode(this_WS_8, grammarAccess.getStylesheetAccess().getWSTerminalRuleCall_2_1_0_1());
+ }
+)*)
+ |(this_CDC_9=RULE_CDC
+ {
+ newLeafNode(this_CDC_9, grammarAccess.getStylesheetAccess().getCDCTerminalRuleCall_2_1_1_0());
+ }
+(this_WS_10=RULE_WS
+ {
+ newLeafNode(this_WS_10, grammarAccess.getStylesheetAccess().getWSTerminalRuleCall_2_1_1_1());
+ }
+)*))*)*((
+(
+ {
+ newCompositeNode(grammarAccess.getStylesheetAccess().getContentsContentParserRuleCall_3_0_0());
+ }
+ lv_contents_11_0=ruleContent {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getStylesheetRule());
+ }
+ add(
+ $current,
+ "contents",
+ lv_contents_11_0,
+ "Content");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)((this_CDO_12=RULE_CDO
+ {
+ newLeafNode(this_CDO_12, grammarAccess.getStylesheetAccess().getCDOTerminalRuleCall_3_1_0_0());
+ }
+(this_WS_13=RULE_WS
+ {
+ newLeafNode(this_WS_13, grammarAccess.getStylesheetAccess().getWSTerminalRuleCall_3_1_0_1());
+ }
+)*)
+ |(this_CDC_14=RULE_CDC
+ {
+ newLeafNode(this_CDC_14, grammarAccess.getStylesheetAccess().getCDCTerminalRuleCall_3_1_1_0());
+ }
+(this_WS_15=RULE_WS
+ {
+ newLeafNode(this_WS_15, grammarAccess.getStylesheetAccess().getWSTerminalRuleCall_3_1_1_1());
+ }
+)*))*)*)
+;
+
+
+
+
+
+// Entry rule entryRuleContent
+entryRuleContent returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getContentRule()); }
+ iv_ruleContent=ruleContent
+ { $current=$iv_ruleContent.current; }
+ EOF
+;
+
+// Rule Content
+ruleContent returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getContentAccess().getRulesetParserRuleCall_0());
+ }
+ this_Ruleset_0=ruleRuleset
+ {
+ $current = $this_Ruleset_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getContentAccess().getMediaParserRuleCall_1());
+ }
+ this_Media_1=ruleMedia
+ {
+ $current = $this_Media_1.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getContentAccess().getPageParserRuleCall_2());
+ }
+ this_Page_2=rulePage
+ {
+ $current = $this_Page_2.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleImport
+entryRuleImport returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getImportRule()); }
+ iv_ruleImport=ruleImport
+ { $current=$iv_ruleImport.current; }
+ EOF
+;
+
+// Rule Import
+ruleImport returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='@import'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getImportAccess().getImportKeyword_0());
+ }
+(((this_WS_1=RULE_WS
+ {
+ newLeafNode(this_WS_1, grammarAccess.getImportAccess().getWSTerminalRuleCall_1_0_0());
+ }
+)*(
+(
+ lv_string_2_0=RULE_STRING
+ {
+ newLeafNode(lv_string_2_0, grammarAccess.getImportAccess().getStringSTRINGTerminalRuleCall_1_0_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getImportRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "string",
+ lv_string_2_0,
+ "STRING");
+ }
+
+)
+))
+ |(this_WS_3=RULE_WS
+ {
+ newLeafNode(this_WS_3, grammarAccess.getImportAccess().getWSTerminalRuleCall_1_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getImportAccess().getUriUriParserRuleCall_1_1_1_0());
+ }
+ lv_uri_4_0=ruleUri {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getImportRule());
+ }
+ set(
+ $current,
+ "uri",
+ lv_uri_4_0,
+ "Uri");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)))(this_WS_5=RULE_WS
+ {
+ newLeafNode(this_WS_5, grammarAccess.getImportAccess().getWSTerminalRuleCall_2());
+ }
+)*((
+(
+ lv_media_6_0=RULE_ID
+ {
+ newLeafNode(lv_media_6_0, grammarAccess.getImportAccess().getMediaIDTerminalRuleCall_3_0_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getImportRule());
+ }
+ addWithLastConsumed(
+ $current,
+ "media",
+ lv_media_6_0,
+ "ID");
+ }
+
+)
+)(this_WS_7=RULE_WS
+ {
+ newLeafNode(this_WS_7, grammarAccess.getImportAccess().getWSTerminalRuleCall_3_1());
+ }
+)*( otherlv_8=','
+ {
+ newLeafNode(otherlv_8, grammarAccess.getImportAccess().getCommaKeyword_3_2_0());
+ }
+(this_WS_9=RULE_WS
+ {
+ newLeafNode(this_WS_9, grammarAccess.getImportAccess().getWSTerminalRuleCall_3_2_1());
+ }
+)*(
+(
+ lv_media_10_0=RULE_ID
+ {
+ newLeafNode(lv_media_10_0, grammarAccess.getImportAccess().getMediaIDTerminalRuleCall_3_2_2_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getImportRule());
+ }
+ addWithLastConsumed(
+ $current,
+ "media",
+ lv_media_10_0,
+ "ID");
+ }
+
+)
+))*)? otherlv_11=';'
+ {
+ newLeafNode(otherlv_11, grammarAccess.getImportAccess().getSemicolonKeyword_4());
+ }
+(this_WS_12=RULE_WS
+ {
+ newLeafNode(this_WS_12, grammarAccess.getImportAccess().getWSTerminalRuleCall_5());
+ }
+)*)
+;
+
+
+
+
+
+// Entry rule entryRuleMedia
+entryRuleMedia returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getMediaRule()); }
+ iv_ruleMedia=ruleMedia
+ { $current=$iv_ruleMedia.current; }
+ EOF
+;
+
+// Rule Media
+ruleMedia returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='@media'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getMediaAccess().getMediaKeyword_0());
+ }
+this_WS_1=RULE_WS
+ {
+ newLeafNode(this_WS_1, grammarAccess.getMediaAccess().getWSTerminalRuleCall_1());
+ }
+(
+(
+ lv_media_2_0=RULE_ID
+ {
+ newLeafNode(lv_media_2_0, grammarAccess.getMediaAccess().getMediaIDTerminalRuleCall_2_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getMediaRule());
+ }
+ addWithLastConsumed(
+ $current,
+ "media",
+ lv_media_2_0,
+ "ID");
+ }
+
+)
+)(this_WS_3=RULE_WS
+ {
+ newLeafNode(this_WS_3, grammarAccess.getMediaAccess().getWSTerminalRuleCall_3());
+ }
+)*( otherlv_4=','
+ {
+ newLeafNode(otherlv_4, grammarAccess.getMediaAccess().getCommaKeyword_4_0());
+ }
+(this_WS_5=RULE_WS
+ {
+ newLeafNode(this_WS_5, grammarAccess.getMediaAccess().getWSTerminalRuleCall_4_1());
+ }
+)*(
+(
+ lv_media_6_0=RULE_ID
+ {
+ newLeafNode(lv_media_6_0, grammarAccess.getMediaAccess().getMediaIDTerminalRuleCall_4_2_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getMediaRule());
+ }
+ addWithLastConsumed(
+ $current,
+ "media",
+ lv_media_6_0,
+ "ID");
+ }
+
+)
+))* otherlv_7='{'
+ {
+ newLeafNode(otherlv_7, grammarAccess.getMediaAccess().getLeftCurlyBracketKeyword_5());
+ }
+(this_WS_8=RULE_WS
+ {
+ newLeafNode(this_WS_8, grammarAccess.getMediaAccess().getWSTerminalRuleCall_6());
+ }
+)*(
+(
+ {
+ newCompositeNode(grammarAccess.getMediaAccess().getRulesRulesetParserRuleCall_7_0());
+ }
+ lv_rules_9_0=ruleRuleset {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getMediaRule());
+ }
+ add(
+ $current,
+ "rules",
+ lv_rules_9_0,
+ "Ruleset");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)* otherlv_10='}'
+ {
+ newLeafNode(otherlv_10, grammarAccess.getMediaAccess().getRightCurlyBracketKeyword_8());
+ }
+(this_WS_11=RULE_WS
+ {
+ newLeafNode(this_WS_11, grammarAccess.getMediaAccess().getWSTerminalRuleCall_9());
+ }
+)*)
+;
+
+
+
+
+
+// Entry rule entryRulePage
+entryRulePage returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getPageRule()); }
+ iv_rulePage=rulePage
+ { $current=$iv_rulePage.current; }
+ EOF
+;
+
+// Rule Page
+rulePage returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getPageAccess().getPageAction_0(),
+ $current);
+ }
+) otherlv_1='@page'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getPageAccess().getPageKeyword_1());
+ }
+(this_WS_2=RULE_WS
+ {
+ newLeafNode(this_WS_2, grammarAccess.getPageAccess().getWSTerminalRuleCall_2());
+ }
+)*(
+(
+ {
+ newCompositeNode(grammarAccess.getPageAccess().getPseudoPseudoPageParserRuleCall_3_0());
+ }
+ lv_pseudo_3_0=rulePseudoPage {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPageRule());
+ }
+ set(
+ $current,
+ "pseudo",
+ lv_pseudo_3_0,
+ "PseudoPage");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)? otherlv_4='{'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getPageAccess().getLeftCurlyBracketKeyword_4());
+ }
+(this_WS_5=RULE_WS
+ {
+ newLeafNode(this_WS_5, grammarAccess.getPageAccess().getWSTerminalRuleCall_5());
+ }
+)*(
+(
+ {
+ newCompositeNode(grammarAccess.getPageAccess().getDeclarationsDeclarationParserRuleCall_6_0());
+ }
+ lv_declarations_6_0=ruleDeclaration {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPageRule());
+ }
+ add(
+ $current,
+ "declarations",
+ lv_declarations_6_0,
+ "Declaration");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?( otherlv_7=';'
+ {
+ newLeafNode(otherlv_7, grammarAccess.getPageAccess().getSemicolonKeyword_7_0());
+ }
+(this_WS_8=RULE_WS
+ {
+ newLeafNode(this_WS_8, grammarAccess.getPageAccess().getWSTerminalRuleCall_7_1());
+ }
+)*(
+(
+ {
+ newCompositeNode(grammarAccess.getPageAccess().getDeclarationsDeclarationParserRuleCall_7_2_0());
+ }
+ lv_declarations_9_0=ruleDeclaration {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPageRule());
+ }
+ add(
+ $current,
+ "declarations",
+ lv_declarations_9_0,
+ "Declaration");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?)* otherlv_10='}'
+ {
+ newLeafNode(otherlv_10, grammarAccess.getPageAccess().getRightCurlyBracketKeyword_8());
+ }
+(this_WS_11=RULE_WS
+ {
+ newLeafNode(this_WS_11, grammarAccess.getPageAccess().getWSTerminalRuleCall_9());
+ }
+)*)
+;
+
+
+
+
+
+// Entry rule entryRulePseudoPage
+entryRulePseudoPage returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getPseudoPageRule()); }
+ iv_rulePseudoPage=rulePseudoPage
+ { $current=$iv_rulePseudoPage.current; }
+ EOF
+;
+
+// Rule PseudoPage
+rulePseudoPage returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0=':'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getPseudoPageAccess().getColonKeyword_0());
+ }
+(
+(
+ lv_id_1_0=RULE_ID
+ {
+ newLeafNode(lv_id_1_0, grammarAccess.getPseudoPageAccess().getIdIDTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getPseudoPageRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "id",
+ lv_id_1_0,
+ "ID");
+ }
+
+)
+)(this_WS_2=RULE_WS
+ {
+ newLeafNode(this_WS_2, grammarAccess.getPseudoPageAccess().getWSTerminalRuleCall_2());
+ }
+)*)
+;
+
+
+
+
+
+// Entry rule entryRuleRuleset
+entryRuleRuleset returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getRulesetRule()); }
+ iv_ruleRuleset=ruleRuleset
+ { $current=$iv_ruleRuleset.current; }
+ EOF
+;
+
+// Rule Ruleset
+ruleRuleset returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getRulesetAccess().getSelectorsSelectorParserRuleCall_0_0());
+ }
+ lv_selectors_0_0=ruleSelector {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getRulesetRule());
+ }
+ add(
+ $current,
+ "selectors",
+ lv_selectors_0_0,
+ "Selector");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_1=','
+ {
+ newLeafNode(otherlv_1, grammarAccess.getRulesetAccess().getCommaKeyword_1_0());
+ }
+(this_WS_2=RULE_WS
+ {
+ newLeafNode(this_WS_2, grammarAccess.getRulesetAccess().getWSTerminalRuleCall_1_1());
+ }
+)*(
+(
+ {
+ newCompositeNode(grammarAccess.getRulesetAccess().getSelectorsSelectorParserRuleCall_1_2_0());
+ }
+ lv_selectors_3_0=ruleSelector {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getRulesetRule());
+ }
+ add(
+ $current,
+ "selectors",
+ lv_selectors_3_0,
+ "Selector");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))* otherlv_4='{'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getRulesetAccess().getLeftCurlyBracketKeyword_2());
+ }
+(this_WS_5=RULE_WS
+ {
+ newLeafNode(this_WS_5, grammarAccess.getRulesetAccess().getWSTerminalRuleCall_3());
+ }
+)*(
+(
+ {
+ newCompositeNode(grammarAccess.getRulesetAccess().getPropertiesDeclarationParserRuleCall_4_0());
+ }
+ lv_properties_6_0=ruleDeclaration {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getRulesetRule());
+ }
+ add(
+ $current,
+ "properties",
+ lv_properties_6_0,
+ "Declaration");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?( otherlv_7=';'
+ {
+ newLeafNode(otherlv_7, grammarAccess.getRulesetAccess().getSemicolonKeyword_5_0());
+ }
+(this_WS_8=RULE_WS
+ {
+ newLeafNode(this_WS_8, grammarAccess.getRulesetAccess().getWSTerminalRuleCall_5_1());
+ }
+)*(
+(
+ {
+ newCompositeNode(grammarAccess.getRulesetAccess().getPropertiesDeclarationParserRuleCall_5_2_0());
+ }
+ lv_properties_9_0=ruleDeclaration {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getRulesetRule());
+ }
+ add(
+ $current,
+ "properties",
+ lv_properties_9_0,
+ "Declaration");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?)* otherlv_10='}'
+ {
+ newLeafNode(otherlv_10, grammarAccess.getRulesetAccess().getRightCurlyBracketKeyword_6());
+ }
+(this_WS_11=RULE_WS
+ {
+ newLeafNode(this_WS_11, grammarAccess.getRulesetAccess().getWSTerminalRuleCall_7());
+ }
+)*)
+;
+
+
+
+
+
+// Entry rule entryRuleSelector
+entryRuleSelector returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getSelectorRule()); }
+ iv_ruleSelector=ruleSelector
+ { $current=$iv_ruleSelector.current; }
+ EOF
+;
+
+// Rule Selector
+ruleSelector returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ newCompositeNode(grammarAccess.getSelectorAccess().getSimpleSelectorParserRuleCall_0_0());
+ }
+ this_SimpleSelector_0=ruleSimpleSelector
+ {
+ $current = $this_SimpleSelector_0.current;
+ afterParserOrEnumRuleCall();
+ }
+(this_WS_1=RULE_WS
+ {
+ newLeafNode(this_WS_1, grammarAccess.getSelectorAccess().getWSTerminalRuleCall_0_1());
+ }
+)*)
+ |
+ {
+ newCompositeNode(grammarAccess.getSelectorAccess().getCompositeSelectorParserRuleCall_1());
+ }
+ this_CompositeSelector_2=ruleCompositeSelector
+ {
+ $current = $this_CompositeSelector_2.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleCompositeSelector
+entryRuleCompositeSelector returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getCompositeSelectorRule()); }
+ iv_ruleCompositeSelector=ruleCompositeSelector
+ { $current=$iv_ruleCompositeSelector.current; }
+ EOF
+;
+
+// Rule CompositeSelector
+ruleCompositeSelector returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getCompositeSelectorAccess().getLeftSimpleSelectorParserRuleCall_0_0());
+ }
+ lv_left_0_0=ruleSimpleSelector {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getCompositeSelectorRule());
+ }
+ set(
+ $current,
+ "left",
+ lv_left_0_0,
+ "SimpleSelector");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)((this_WS_1=RULE_WS
+ {
+ newLeafNode(this_WS_1, grammarAccess.getCompositeSelectorAccess().getWSTerminalRuleCall_1_0());
+ }
+)+
+ |((this_WS_2=RULE_WS
+ {
+ newLeafNode(this_WS_2, grammarAccess.getCompositeSelectorAccess().getWSTerminalRuleCall_1_1_0());
+ }
+)*(
+(
+ {
+ newCompositeNode(grammarAccess.getCompositeSelectorAccess().getCombinatorCombinatorParserRuleCall_1_1_1_0());
+ }
+ lv_combinator_3_0=ruleCombinator {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getCompositeSelectorRule());
+ }
+ set(
+ $current,
+ "combinator",
+ lv_combinator_3_0,
+ "Combinator");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)))(
+(
+ {
+ newCompositeNode(grammarAccess.getCompositeSelectorAccess().getRightSelectorParserRuleCall_2_0());
+ }
+ lv_right_4_0=ruleSelector {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getCompositeSelectorRule());
+ }
+ set(
+ $current,
+ "right",
+ lv_right_4_0,
+ "Selector");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleSimpleSelector
+entryRuleSimpleSelector returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getSimpleSelectorRule()); }
+ iv_ruleSimpleSelector=ruleSimpleSelector
+ { $current=$iv_ruleSimpleSelector.current; }
+ EOF
+;
+
+// Rule SimpleSelector
+ruleSimpleSelector returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(((
+(
+(
+ lv_elementName_0_1=RULE_ID
+ {
+ newLeafNode(lv_elementName_0_1, grammarAccess.getSimpleSelectorAccess().getElementNameIDTerminalRuleCall_0_0_0_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getSimpleSelectorRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "elementName",
+ lv_elementName_0_1,
+ "ID");
+ }
+
+ | lv_elementName_0_2= '*'
+ {
+ newLeafNode(lv_elementName_0_2, grammarAccess.getSimpleSelectorAccess().getElementNameAsteriskKeyword_0_0_0_1());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getSimpleSelectorRule());
+ }
+ setWithLastConsumed($current, "elementName", lv_elementName_0_2, null);
+ }
+
+)
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getSimpleSelectorAccess().getConditionSelectorConditionParserRuleCall_0_1_0());
+ }
+ lv_condition_1_0=ruleSelectorCondition {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSimpleSelectorRule());
+ }
+ add(
+ $current,
+ "condition",
+ lv_condition_1_0,
+ "SelectorCondition");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)*)
+ |(
+(
+ {
+ newCompositeNode(grammarAccess.getSimpleSelectorAccess().getConditionSelectorConditionParserRuleCall_1_0());
+ }
+ lv_condition_2_0=ruleSelectorCondition {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSimpleSelectorRule());
+ }
+ add(
+ $current,
+ "condition",
+ lv_condition_2_0,
+ "SelectorCondition");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)+)
+;
+
+
+
+
+
+// Entry rule entryRuleSelectorCondition
+entryRuleSelectorCondition returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getSelectorConditionRule()); }
+ iv_ruleSelectorCondition=ruleSelectorCondition
+ { $current=$iv_ruleSelectorCondition.current; }
+ EOF
+;
+
+// Rule SelectorCondition
+ruleSelectorCondition returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getSelectorConditionAccess().getCSSIdParserRuleCall_0());
+ }
+ this_CSSId_0=ruleCSSId
+ {
+ $current = $this_CSSId_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getSelectorConditionAccess().getClassParserRuleCall_1());
+ }
+ this_Class_1=ruleClass
+ {
+ $current = $this_Class_1.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getSelectorConditionAccess().getAttributeParserRuleCall_2());
+ }
+ this_Attribute_2=ruleAttribute
+ {
+ $current = $this_Attribute_2.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getSelectorConditionAccess().getPseudoParserRuleCall_3());
+ }
+ this_Pseudo_3=rulePseudo
+ {
+ $current = $this_Pseudo_3.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleCombinator
+entryRuleCombinator returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getCombinatorRule()); }
+ iv_ruleCombinator=ruleCombinator
+ { $current=$iv_ruleCombinator.current; }
+ EOF
+;
+
+// Rule Combinator
+ruleCombinator returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getCombinatorAccess().getKindKINDEnumRuleCall_0_0());
+ }
+ lv_kind_0_0=ruleKIND {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getCombinatorRule());
+ }
+ set(
+ $current,
+ "kind",
+ lv_kind_0_0,
+ "KIND");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(this_WS_1=RULE_WS
+ {
+ newLeafNode(this_WS_1, grammarAccess.getCombinatorAccess().getWSTerminalRuleCall_1());
+ }
+)*)
+;
+
+
+
+
+
+// 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_ID
+ {
+ newLeafNode(lv_property_0_0, grammarAccess.getDeclarationAccess().getPropertyIDTerminalRuleCall_0_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getDeclarationRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "property",
+ lv_property_0_0,
+ "ID");
+ }
+
+)
+)(this_WS_1=RULE_WS
+ {
+ newLeafNode(this_WS_1, grammarAccess.getDeclarationAccess().getWSTerminalRuleCall_1());
+ }
+)* otherlv_2=':'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getDeclarationAccess().getColonKeyword_2());
+ }
+(this_WS_3=RULE_WS
+ {
+ newLeafNode(this_WS_3, grammarAccess.getDeclarationAccess().getWSTerminalRuleCall_3());
+ }
+)*(
+(
+ {
+ newCompositeNode(grammarAccess.getDeclarationAccess().getExpressionExpressionParserRuleCall_4_0());
+ }
+ lv_expression_4_0=ruleExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getDeclarationRule());
+ }
+ set(
+ $current,
+ "expression",
+ lv_expression_4_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)((
+(
+ lv_important_5_0=RULE_T_IMPORTANT
+ {
+ newLeafNode(lv_important_5_0, grammarAccess.getDeclarationAccess().getImportantT_IMPORTANTTerminalRuleCall_5_0_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getDeclarationRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "important",
+ true,
+ "T_IMPORTANT");
+ }
+
+)
+)(this_WS_6=RULE_WS
+ {
+ newLeafNode(this_WS_6, grammarAccess.getDeclarationAccess().getWSTerminalRuleCall_5_1());
+ }
+)*)?)
+;
+
+
+
+
+
+// Entry rule entryRuleExpression
+entryRuleExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getExpressionRule()); }
+ iv_ruleExpression=ruleExpression
+ { $current=$iv_ruleExpression.current; }
+ EOF
+;
+
+// Rule Expression
+ruleExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getExpressionAccess().getTermsTermParserRuleCall_0_0());
+ }
+ lv_terms_0_0=ruleTerm {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getExpressionRule());
+ }
+ set(
+ $current,
+ "terms",
+ lv_terms_0_0,
+ "Term");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getExpressionAccess().getSubtermsSubtermParserRuleCall_1_0());
+ }
+ lv_subterms_1_0=ruleSubterm {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getExpressionRule());
+ }
+ add(
+ $current,
+ "subterms",
+ lv_subterms_1_0,
+ "Subterm");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)*)
+;
+
+
+
+
+
+// Entry rule entryRuleSubterm
+entryRuleSubterm returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getSubtermRule()); }
+ iv_ruleSubterm=ruleSubterm
+ { $current=$iv_ruleSubterm.current; }
+ EOF
+;
+
+// Rule Subterm
+ruleSubterm returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getSubtermAccess().getOperatorOperatorParserRuleCall_0_0());
+ }
+ lv_operator_0_0=ruleOperator {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSubtermRule());
+ }
+ set(
+ $current,
+ "operator",
+ lv_operator_0_0,
+ "Operator");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?(
+(
+ {
+ newCompositeNode(grammarAccess.getSubtermAccess().getTermTermParserRuleCall_1_0());
+ }
+ lv_term_1_0=ruleTerm {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSubtermRule());
+ }
+ set(
+ $current,
+ "term",
+ lv_term_1_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().getNumberParserRuleCall_0_0());
+ }
+ this_Number_0=ruleNumber
+ {
+ $current = $this_Number_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getTermAccess().getPercentageParserRuleCall_0_1());
+ }
+ this_Percentage_1=rulePercentage
+ {
+ $current = $this_Percentage_1.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getTermAccess().getLengthParserRuleCall_0_2());
+ }
+ this_Length_2=ruleLength
+ {
+ $current = $this_Length_2.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getTermAccess().getEmsParserRuleCall_0_3());
+ }
+ this_Ems_3=ruleEms
+ {
+ $current = $this_Ems_3.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getTermAccess().getExsParserRuleCall_0_4());
+ }
+ this_Exs_4=ruleExs
+ {
+ $current = $this_Exs_4.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getTermAccess().getAngleParserRuleCall_0_5());
+ }
+ this_Angle_5=ruleAngle
+ {
+ $current = $this_Angle_5.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getTermAccess().getTimeParserRuleCall_0_6());
+ }
+ this_Time_6=ruleTime
+ {
+ $current = $this_Time_6.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getTermAccess().getFrequencyParserRuleCall_0_7());
+ }
+ this_Frequency_7=ruleFrequency
+ {
+ $current = $this_Frequency_7.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getTermAccess().getNameParserRuleCall_0_8());
+ }
+ this_Name_8=ruleName
+ {
+ $current = $this_Name_8.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getTermAccess().getStringValueParserRuleCall_0_9());
+ }
+ this_StringValue_9=ruleStringValue
+ {
+ $current = $this_StringValue_9.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getTermAccess().getUriParserRuleCall_0_10());
+ }
+ this_Uri_10=ruleUri
+ {
+ $current = $this_Uri_10.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getTermAccess().getHexColorParserRuleCall_0_11());
+ }
+ this_HexColor_11=ruleHexColor
+ {
+ $current = $this_HexColor_11.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getTermAccess().getFunctionParserRuleCall_0_12());
+ }
+ this_Function_12=ruleFunction
+ {
+ $current = $this_Function_12.current;
+ afterParserOrEnumRuleCall();
+ }
+)(this_WS_13=RULE_WS
+ {
+ newLeafNode(this_WS_13, grammarAccess.getTermAccess().getWSTerminalRuleCall_1());
+ }
+)*)
+;
+
+
+
+
+
+// Entry rule entryRuleFunction
+entryRuleFunction returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getFunctionRule()); }
+ iv_ruleFunction=ruleFunction
+ { $current=$iv_ruleFunction.current; }
+ EOF
+;
+
+// Rule Function
+ruleFunction returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ lv_name_0_0=RULE_ID
+ {
+ newLeafNode(lv_name_0_0, grammarAccess.getFunctionAccess().getNameIDTerminalRuleCall_0_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getFunctionRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_0_0,
+ "ID");
+ }
+
+)
+) otherlv_1='('
+ {
+ newLeafNode(otherlv_1, grammarAccess.getFunctionAccess().getLeftParenthesisKeyword_1());
+ }
+(this_WS_2=RULE_WS
+ {
+ newLeafNode(this_WS_2, grammarAccess.getFunctionAccess().getWSTerminalRuleCall_2());
+ }
+)*(
+(
+ {
+ newCompositeNode(grammarAccess.getFunctionAccess().getArgsExpressionParserRuleCall_3_0());
+ }
+ lv_args_3_0=ruleExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getFunctionRule());
+ }
+ set(
+ $current,
+ "args",
+ lv_args_3_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_4=')'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getFunctionAccess().getRightParenthesisKeyword_4());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleName
+entryRuleName returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getNameRule()); }
+ iv_ruleName=ruleName
+ { $current=$iv_ruleName.current; }
+ EOF
+;
+
+// Rule Name
+ruleName returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+(
+ lv_value_0_0=RULE_ID
+ {
+ newLeafNode(lv_value_0_0, grammarAccess.getNameAccess().getValueIDTerminalRuleCall_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getNameRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "value",
+ lv_value_0_0,
+ "ID");
+ }
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRuleNumber
+entryRuleNumber returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getNumberRule()); }
+ iv_ruleNumber=ruleNumber
+ { $current=$iv_ruleNumber.current; }
+ EOF
+;
+
+// Rule Number
+ruleNumber returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getNumberAccess().getOpUnaryOperatorParserRuleCall_0_0());
+ }
+ lv_op_0_0=ruleUnaryOperator {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getNumberRule());
+ }
+ set(
+ $current,
+ "op",
+ lv_op_0_0,
+ "UnaryOperator");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?(
+(
+ lv_value_1_0=RULE_T_NUM
+ {
+ newLeafNode(lv_value_1_0, grammarAccess.getNumberAccess().getValueT_NUMTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getNumberRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "value",
+ lv_value_1_0,
+ "T_NUM");
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRulePercentage
+entryRulePercentage returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getPercentageRule()); }
+ iv_rulePercentage=rulePercentage
+ { $current=$iv_rulePercentage.current; }
+ EOF
+;
+
+// Rule Percentage
+rulePercentage returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getPercentageAccess().getOpUnaryOperatorParserRuleCall_0_0());
+ }
+ lv_op_0_0=ruleUnaryOperator {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPercentageRule());
+ }
+ set(
+ $current,
+ "op",
+ lv_op_0_0,
+ "UnaryOperator");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?(
+(
+ lv_value_1_0=RULE_T_NUM
+ {
+ newLeafNode(lv_value_1_0, grammarAccess.getPercentageAccess().getValueT_NUMTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getPercentageRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "value",
+ lv_value_1_0,
+ "T_NUM");
+ }
+
+)
+)(
+(
+ lv_unit_2_0=RULE_PC_UNIT
+ {
+ newLeafNode(lv_unit_2_0, grammarAccess.getPercentageAccess().getUnitPC_UNITTerminalRuleCall_2_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getPercentageRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "unit",
+ lv_unit_2_0,
+ "PC_UNIT");
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleLength
+entryRuleLength returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getLengthRule()); }
+ iv_ruleLength=ruleLength
+ { $current=$iv_ruleLength.current; }
+ EOF
+;
+
+// Rule Length
+ruleLength returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getLengthAccess().getOpUnaryOperatorParserRuleCall_0_0());
+ }
+ lv_op_0_0=ruleUnaryOperator {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getLengthRule());
+ }
+ set(
+ $current,
+ "op",
+ lv_op_0_0,
+ "UnaryOperator");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?(
+(
+ lv_value_1_0=RULE_T_NUM
+ {
+ newLeafNode(lv_value_1_0, grammarAccess.getLengthAccess().getValueT_NUMTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getLengthRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "value",
+ lv_value_1_0,
+ "T_NUM");
+ }
+
+)
+)(
+(
+ lv_unit_2_0=RULE_LEN_UNIT
+ {
+ newLeafNode(lv_unit_2_0, grammarAccess.getLengthAccess().getUnitLEN_UNITTerminalRuleCall_2_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getLengthRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "unit",
+ lv_unit_2_0,
+ "LEN_UNIT");
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleEms
+entryRuleEms returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getEmsRule()); }
+ iv_ruleEms=ruleEms
+ { $current=$iv_ruleEms.current; }
+ EOF
+;
+
+// Rule Ems
+ruleEms returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getEmsAccess().getOpUnaryOperatorParserRuleCall_0_0());
+ }
+ lv_op_0_0=ruleUnaryOperator {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getEmsRule());
+ }
+ set(
+ $current,
+ "op",
+ lv_op_0_0,
+ "UnaryOperator");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?(
+(
+ lv_value_1_0=RULE_T_NUM
+ {
+ newLeafNode(lv_value_1_0, grammarAccess.getEmsAccess().getValueT_NUMTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getEmsRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "value",
+ lv_value_1_0,
+ "T_NUM");
+ }
+
+)
+)(
+(
+ lv_unit_2_0=RULE_EM_UNIT
+ {
+ newLeafNode(lv_unit_2_0, grammarAccess.getEmsAccess().getUnitEM_UNITTerminalRuleCall_2_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getEmsRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "unit",
+ lv_unit_2_0,
+ "EM_UNIT");
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleExs
+entryRuleExs returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getExsRule()); }
+ iv_ruleExs=ruleExs
+ { $current=$iv_ruleExs.current; }
+ EOF
+;
+
+// Rule Exs
+ruleExs returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getExsAccess().getOpUnaryOperatorParserRuleCall_0_0());
+ }
+ lv_op_0_0=ruleUnaryOperator {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getExsRule());
+ }
+ set(
+ $current,
+ "op",
+ lv_op_0_0,
+ "UnaryOperator");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?(
+(
+ lv_value_1_0=RULE_T_NUM
+ {
+ newLeafNode(lv_value_1_0, grammarAccess.getExsAccess().getValueT_NUMTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getExsRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "value",
+ lv_value_1_0,
+ "T_NUM");
+ }
+
+)
+)(
+(
+ lv_unit_2_0=RULE_EX_UNIT
+ {
+ newLeafNode(lv_unit_2_0, grammarAccess.getExsAccess().getUnitEX_UNITTerminalRuleCall_2_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getExsRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "unit",
+ lv_unit_2_0,
+ "EX_UNIT");
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleAngle
+entryRuleAngle returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getAngleRule()); }
+ iv_ruleAngle=ruleAngle
+ { $current=$iv_ruleAngle.current; }
+ EOF
+;
+
+// Rule Angle
+ruleAngle returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getAngleAccess().getOpUnaryOperatorParserRuleCall_0_0());
+ }
+ lv_op_0_0=ruleUnaryOperator {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getAngleRule());
+ }
+ set(
+ $current,
+ "op",
+ lv_op_0_0,
+ "UnaryOperator");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?(
+(
+ lv_value_1_0=RULE_T_NUM
+ {
+ newLeafNode(lv_value_1_0, grammarAccess.getAngleAccess().getValueT_NUMTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getAngleRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "value",
+ lv_value_1_0,
+ "T_NUM");
+ }
+
+)
+)(
+(
+ lv_unit_2_0=RULE_ANGLE_UNIT
+ {
+ newLeafNode(lv_unit_2_0, grammarAccess.getAngleAccess().getUnitANGLE_UNITTerminalRuleCall_2_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getAngleRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "unit",
+ lv_unit_2_0,
+ "ANGLE_UNIT");
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleTime
+entryRuleTime returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getTimeRule()); }
+ iv_ruleTime=ruleTime
+ { $current=$iv_ruleTime.current; }
+ EOF
+;
+
+// Rule Time
+ruleTime returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getTimeAccess().getOpUnaryOperatorParserRuleCall_0_0());
+ }
+ lv_op_0_0=ruleUnaryOperator {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getTimeRule());
+ }
+ set(
+ $current,
+ "op",
+ lv_op_0_0,
+ "UnaryOperator");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?(
+(
+ lv_value_1_0=RULE_T_NUM
+ {
+ newLeafNode(lv_value_1_0, grammarAccess.getTimeAccess().getValueT_NUMTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getTimeRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "value",
+ lv_value_1_0,
+ "T_NUM");
+ }
+
+)
+)(
+(
+ lv_unit_2_0=RULE_TIME_UNIT
+ {
+ newLeafNode(lv_unit_2_0, grammarAccess.getTimeAccess().getUnitTIME_UNITTerminalRuleCall_2_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getTimeRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "unit",
+ lv_unit_2_0,
+ "TIME_UNIT");
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleFrequency
+entryRuleFrequency returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getFrequencyRule()); }
+ iv_ruleFrequency=ruleFrequency
+ { $current=$iv_ruleFrequency.current; }
+ EOF
+;
+
+// Rule Frequency
+ruleFrequency returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getFrequencyAccess().getOpUnaryOperatorParserRuleCall_0_0());
+ }
+ lv_op_0_0=ruleUnaryOperator {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getFrequencyRule());
+ }
+ set(
+ $current,
+ "op",
+ lv_op_0_0,
+ "UnaryOperator");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?(
+(
+ lv_value_1_0=RULE_T_NUM
+ {
+ newLeafNode(lv_value_1_0, grammarAccess.getFrequencyAccess().getValueT_NUMTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getFrequencyRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "value",
+ lv_value_1_0,
+ "T_NUM");
+ }
+
+)
+)(
+(
+ lv_unit_2_0=RULE_FREQ_UNIT
+ {
+ newLeafNode(lv_unit_2_0, grammarAccess.getFrequencyAccess().getUnitFREQ_UNITTerminalRuleCall_2_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getFrequencyRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "unit",
+ lv_unit_2_0,
+ "FREQ_UNIT");
+ }
+
+)
+))
+;
+
+
+
+
+
+// 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());
+ }
+(this_WS_1=RULE_WS
+ {
+ newLeafNode(this_WS_1, grammarAccess.getUriAccess().getWSTerminalRuleCall_1());
+ }
+)?(
+(
+ lv_value_2_0=RULE_STRING
+ {
+ newLeafNode(lv_value_2_0, grammarAccess.getUriAccess().getValueSTRINGTerminalRuleCall_2_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getUriRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "value",
+ lv_value_2_0,
+ "STRING");
+ }
+
+)
+)(this_WS_3=RULE_WS
+ {
+ newLeafNode(this_WS_3, grammarAccess.getUriAccess().getWSTerminalRuleCall_3());
+ }
+)? otherlv_4=')'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getUriAccess().getRightParenthesisKeyword_4());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleStringValue
+entryRuleStringValue returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getStringValueRule()); }
+ iv_ruleStringValue=ruleStringValue
+ { $current=$iv_ruleStringValue.current; }
+ EOF
+;
+
+// Rule StringValue
+ruleStringValue returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+(
+ lv_value_0_0=RULE_STRING
+ {
+ newLeafNode(lv_value_0_0, grammarAccess.getStringValueAccess().getValueSTRINGTerminalRuleCall_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getStringValueRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "value",
+ lv_value_0_0,
+ "STRING");
+ }
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRuleHexColor
+entryRuleHexColor returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getHexColorRule()); }
+ iv_ruleHexColor=ruleHexColor
+ { $current=$iv_ruleHexColor.current; }
+ EOF
+;
+
+// Rule HexColor
+ruleHexColor returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+(
+ lv_value_0_0=RULE_HASH
+ {
+ newLeafNode(lv_value_0_0, grammarAccess.getHexColorAccess().getValueHASHTerminalRuleCall_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getHexColorRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "value",
+ lv_value_0_0,
+ "HASH");
+ }
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRuleOperator
+entryRuleOperator returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getOperatorRule()); }
+ iv_ruleOperator=ruleOperator
+ { $current=$iv_ruleOperator.current.getText(); }
+ EOF
+;
+
+// Rule Operator
+ruleOperator returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ kw='/'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOperatorAccess().getSolidusKeyword_0_0());
+ }
+( this_WS_1=RULE_WS {
+ $current.merge(this_WS_1);
+ }
+
+ {
+ newLeafNode(this_WS_1, grammarAccess.getOperatorAccess().getWSTerminalRuleCall_0_1());
+ }
+)*)
+ |(
+ kw=','
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOperatorAccess().getCommaKeyword_1_0());
+ }
+( this_WS_3=RULE_WS {
+ $current.merge(this_WS_3);
+ }
+
+ {
+ newLeafNode(this_WS_3, grammarAccess.getOperatorAccess().getWSTerminalRuleCall_1_1());
+ }
+)*))
+ ;
+
+
+
+
+
+// Entry rule entryRuleClass
+entryRuleClass returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getClassRule()); }
+ iv_ruleClass=ruleClass
+ { $current=$iv_ruleClass.current; }
+ EOF
+;
+
+// Rule Class
+ruleClass returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+(
+ lv_class_0_0=RULE_T_CLASS
+ {
+ newLeafNode(lv_class_0_0, grammarAccess.getClassAccess().getClassT_CLASSTerminalRuleCall_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getClassRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "class",
+ lv_class_0_0,
+ "T_CLASS");
+ }
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRuleAttribute
+entryRuleAttribute returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getAttributeRule()); }
+ iv_ruleAttribute=ruleAttribute
+ { $current=$iv_ruleAttribute.current; }
+ EOF
+;
+
+// Rule Attribute
+ruleAttribute returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='['
+ {
+ newLeafNode(otherlv_0, grammarAccess.getAttributeAccess().getLeftSquareBracketKeyword_0());
+ }
+(this_WS_1=RULE_WS
+ {
+ newLeafNode(this_WS_1, grammarAccess.getAttributeAccess().getWSTerminalRuleCall_1());
+ }
+)*(
+(
+ lv_name_2_0=RULE_ID
+ {
+ newLeafNode(lv_name_2_0, grammarAccess.getAttributeAccess().getNameIDTerminalRuleCall_2_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getAttributeRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "name",
+ lv_name_2_0,
+ "ID");
+ }
+
+)
+)(this_WS_3=RULE_WS
+ {
+ newLeafNode(this_WS_3, grammarAccess.getAttributeAccess().getWSTerminalRuleCall_3());
+ }
+)*(
+(
+ {
+ newCompositeNode(grammarAccess.getAttributeAccess().getValueAttributeValueParserRuleCall_4_0());
+ }
+ lv_value_4_0=ruleAttributeValue {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getAttributeRule());
+ }
+ set(
+ $current,
+ "value",
+ lv_value_4_0,
+ "AttributeValue");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)? otherlv_5=']'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getAttributeAccess().getRightSquareBracketKeyword_5());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleAttributeValue
+entryRuleAttributeValue returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getAttributeValueRule()); }
+ iv_ruleAttributeValue=ruleAttributeValue
+ { $current=$iv_ruleAttributeValue.current; }
+ EOF
+;
+
+// Rule AttributeValue
+ruleAttributeValue returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getAttributeValueAccess().getOperatorATTRIBUTE_OPEnumRuleCall_0_0());
+ }
+ lv_operator_0_0=ruleATTRIBUTE_OP {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getAttributeValueRule());
+ }
+ set(
+ $current,
+ "operator",
+ lv_operator_0_0,
+ "ATTRIBUTE_OP");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(this_WS_1=RULE_WS
+ {
+ newLeafNode(this_WS_1, grammarAccess.getAttributeValueAccess().getWSTerminalRuleCall_1());
+ }
+)*(
+(
+(
+ lv_value_2_1=RULE_ID
+ {
+ newLeafNode(lv_value_2_1, grammarAccess.getAttributeValueAccess().getValueIDTerminalRuleCall_2_0_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getAttributeValueRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "value",
+ lv_value_2_1,
+ "ID");
+ }
+
+ | lv_value_2_2=RULE_STRING
+ {
+ newLeafNode(lv_value_2_2, grammarAccess.getAttributeValueAccess().getValueSTRINGTerminalRuleCall_2_0_1());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getAttributeValueRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "value",
+ lv_value_2_2,
+ "STRING");
+ }
+
+)
+
+)
+)(this_WS_3=RULE_WS
+ {
+ newLeafNode(this_WS_3, grammarAccess.getAttributeValueAccess().getWSTerminalRuleCall_3());
+ }
+)*)
+;
+
+
+
+
+
+// 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());
+ }
+((
+(
+ lv_pseudo_1_0=RULE_ID
+ {
+ newLeafNode(lv_pseudo_1_0, grammarAccess.getPseudoAccess().getPseudoIDTerminalRuleCall_1_0_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getPseudoRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "pseudo",
+ lv_pseudo_1_0,
+ "ID");
+ }
+
+)
+)
+ |((
+(
+ lv_pseudo_2_0=RULE_ID
+ {
+ newLeafNode(lv_pseudo_2_0, grammarAccess.getPseudoAccess().getPseudoIDTerminalRuleCall_1_1_0_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getPseudoRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "pseudo",
+ lv_pseudo_2_0,
+ "ID");
+ }
+
+)
+) otherlv_3='('
+ {
+ newLeafNode(otherlv_3, grammarAccess.getPseudoAccess().getLeftParenthesisKeyword_1_1_1());
+ }
+(this_WS_4=RULE_WS
+ {
+ newLeafNode(this_WS_4, grammarAccess.getPseudoAccess().getWSTerminalRuleCall_1_1_2());
+ }
+)*((
+(
+ lv_args_5_0=RULE_ID
+ {
+ newLeafNode(lv_args_5_0, grammarAccess.getPseudoAccess().getArgsIDTerminalRuleCall_1_1_3_0_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getPseudoRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "args",
+ lv_args_5_0,
+ "ID");
+ }
+
+)
+)(this_WS_6=RULE_WS
+ {
+ newLeafNode(this_WS_6, grammarAccess.getPseudoAccess().getWSTerminalRuleCall_1_1_3_1());
+ }
+)*)? otherlv_7=')'
+ {
+ newLeafNode(otherlv_7, grammarAccess.getPseudoAccess().getRightParenthesisKeyword_1_1_4());
+ }
+)))
+;
+
+
+
+
+
+// Entry rule entryRuleCSSId
+entryRuleCSSId returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getCSSIdRule()); }
+ iv_ruleCSSId=ruleCSSId
+ { $current=$iv_ruleCSSId.current; }
+ EOF
+;
+
+// Rule CSSId
+ruleCSSId returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+(
+ lv_value_0_0=RULE_HASH
+ {
+ newLeafNode(lv_value_0_0, grammarAccess.getCSSIdAccess().getValueHASHTerminalRuleCall_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getCSSIdRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "value",
+ lv_value_0_0,
+ "HASH");
+ }
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRuleUnaryOperator
+entryRuleUnaryOperator returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getUnaryOperatorRule()); }
+ iv_ruleUnaryOperator=ruleUnaryOperator
+ { $current=$iv_ruleUnaryOperator.current; }
+ EOF
+;
+
+// Rule UnaryOperator
+ruleUnaryOperator returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+(
+ {
+ newCompositeNode(grammarAccess.getUnaryOperatorAccess().getOperatorUNARYEnumRuleCall_0());
+ }
+ lv_operator_0_0=ruleUNARY {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getUnaryOperatorRule());
+ }
+ set(
+ $current,
+ "operator",
+ lv_operator_0_0,
+ "UNARY");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+;
+
+
+
+
+
+// Rule UNARY
+ruleUNARY returns [Enumerator current=null]
+ @init { enterRule(); }
+ @after { leaveRule(); }:
+(( enumLiteral_0='-'
+ {
+ $current = grammarAccess.getUNARYAccess().getNEGEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_0, grammarAccess.getUNARYAccess().getNEGEnumLiteralDeclaration_0());
+ }
+)
+ |( enumLiteral_1='+'
+ {
+ $current = grammarAccess.getUNARYAccess().getPLUSEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_1, grammarAccess.getUNARYAccess().getPLUSEnumLiteralDeclaration_1());
+ }
+));
+
+
+
+// Rule KIND
+ruleKIND returns [Enumerator current=null]
+ @init { enterRule(); }
+ @after { leaveRule(); }:
+(( enumLiteral_0='>'
+ {
+ $current = grammarAccess.getKINDAccess().getFIRST_CHILDEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_0, grammarAccess.getKINDAccess().getFIRST_CHILDEnumLiteralDeclaration_0());
+ }
+)
+ |( enumLiteral_1='+'
+ {
+ $current = grammarAccess.getKINDAccess().getSIBLINGEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_1, grammarAccess.getKINDAccess().getSIBLINGEnumLiteralDeclaration_1());
+ }
+));
+
+
+
+// Rule ATTRIBUTE_OP
+ruleATTRIBUTE_OP returns [Enumerator current=null]
+ @init { enterRule(); }
+ @after { leaveRule(); }:
+(( enumLiteral_0='='
+ {
+ $current = grammarAccess.getATTRIBUTE_OPAccess().getEQUALSEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_0, grammarAccess.getATTRIBUTE_OPAccess().getEQUALSEnumLiteralDeclaration_0());
+ }
+)
+ |( enumLiteral_1='~='
+ {
+ $current = grammarAccess.getATTRIBUTE_OPAccess().getCONTAINSEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_1, grammarAccess.getATTRIBUTE_OPAccess().getCONTAINSEnumLiteralDeclaration_1());
+ }
+)
+ |( enumLiteral_2='!='
+ {
+ $current = grammarAccess.getATTRIBUTE_OPAccess().getUNEQUALSEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_2, grammarAccess.getATTRIBUTE_OPAccess().getUNEQUALSEnumLiteralDeclaration_2());
+ }
+));
+
+
+
+RULE_HASH : '#' ('A'..'Z'|'a'..'z'|'0'..'9')+;
+
+RULE_T_CLASS : '.' RULE_ID;
+
+RULE_T_IMPORTANT : '!important';
+
+RULE_PC_UNIT : '%';
+
+RULE_LEN_UNIT : ('px'|'cm'|'mm'|'in'|'pt'|'pc');
+
+RULE_EM_UNIT : 'em';
+
+RULE_EX_UNIT : 'ex';
+
+RULE_ANGLE_UNIT : ('deg'|'rad'|'grad');
+
+RULE_TIME_UNIT : ('s'|'ms');
+
+RULE_FREQ_UNIT : ('hz'|'mhz');
+
+RULE_T_NUM : (('0'..'9')+|('0'..'9')* '.' ('0'..'9')+);
+
+RULE_ID : ('a'..'z'|'A'..'Z'|'_') ('a'..'z'|'A'..'Z'|'_'|'0'..'9')*;
+
+RULE_STRING : ('"' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'"')))* '"'|'\'' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'\'')))* '\'');
+
+RULE_CDO : '<!--';
+
+RULE_CDC : '-->';
+
+RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
+
+RULE_WS : (' '|'\t'|'\r'|'\n')+;
+
+RULE_ANY_OTHER : .;
+
+
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.tokens b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.tokens
new file mode 100644
index 00000000000..4bede915ae2
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.tokens
@@ -0,0 +1,62 @@
+RULE_ID=8
+T__29=29
+T__28=28
+T__27=27
+T__26=26
+T__25=25
+T__24=24
+T__23=23
+RULE_PC_UNIT=11
+T__22=22
+RULE_ANY_OTHER=21
+RULE_T_CLASS=19
+RULE_CDC=7
+T__42=42
+RULE_CDO=6
+T__43=43
+T__40=40
+T__41=41
+RULE_FREQ_UNIT=17
+RULE_T_IMPORTANT=9
+RULE_HASH=18
+RULE_ML_COMMENT=20
+T__30=30
+RULE_TIME_UNIT=16
+T__31=31
+RULE_LEN_UNIT=12
+T__32=32
+RULE_STRING=4
+T__33=33
+T__34=34
+T__35=35
+T__36=36
+T__37=37
+T__38=38
+T__39=39
+RULE_T_NUM=10
+RULE_ANGLE_UNIT=15
+RULE_EX_UNIT=14
+RULE_WS=5
+RULE_EM_UNIT=13
+'}'=28
+'/'=35
+'url('=34
+'>'=40
+'{'=27
+'~='=42
+'@charset '=22
+'@media'=26
+';'=23
+'!='=43
+'@import'=24
+'='=41
+':'=30
+'('=32
+'-'=38
+'['=36
+'*'=31
+'+'=39
+','=25
+')'=33
+']'=37
+'@page'=29
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSSLexer.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSSLexer.java
new file mode 100644
index 00000000000..687ae926e75
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSSLexer.java
@@ -0,0 +1,2135 @@
+package org.eclipse.papyrus.infra.gmfdiag.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=8;
+ 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 RULE_PC_UNIT=11;
+ public static final int T__23=23;
+ public static final int T__22=22;
+ public static final int RULE_ANY_OTHER=21;
+ public static final int RULE_T_CLASS=19;
+ public static final int EOF=-1;
+ public static final int RULE_CDC=7;
+ public static final int RULE_CDO=6;
+ 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 RULE_FREQ_UNIT=17;
+ public static final int RULE_T_IMPORTANT=9;
+ public static final int RULE_HASH=18;
+ public static final int RULE_ML_COMMENT=20;
+ public static final int T__30=30;
+ public static final int RULE_TIME_UNIT=16;
+ public static final int T__31=31;
+ public static final int RULE_LEN_UNIT=12;
+ public static final int T__32=32;
+ public static final int RULE_STRING=4;
+ public static final int T__33=33;
+ public static final int T__34=34;
+ public static final int T__35=35;
+ public static final int T__36=36;
+ public static final int T__37=37;
+ public static final int T__38=38;
+ public static final int T__39=39;
+ public static final int RULE_T_NUM=10;
+ public static final int RULE_ANGLE_UNIT=15;
+ public static final int RULE_EX_UNIT=14;
+ public static final int RULE_WS=5;
+ public static final int RULE_EM_UNIT=13;
+
+ // 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.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g"; }
+
+ // $ANTLR start "T__22"
+ public final void mT__22() throws RecognitionException {
+ try {
+ int _type = T__22;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:11:7: ( '@charset ' )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:11:9: '@charset '
+ {
+ match("@charset ");
+
+
+ }
+
+ 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.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:12:7: ( ';' )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:12: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.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:13:7: ( '@import' )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:13:9: '@import'
+ {
+ match("@import");
+
+
+ }
+
+ 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.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:14:7: ( ',' )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:14: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.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:15:7: ( '@media' )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:15:9: '@media'
+ {
+ match("@media");
+
+
+ }
+
+ 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.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:16:7: ( '{' )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:16: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.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:17:7: ( '}' )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:17:9: '}'
+ {
+ match('}');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__28"
+
+ // $ANTLR start "T__29"
+ public final void mT__29() throws RecognitionException {
+ try {
+ int _type = T__29;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:18:7: ( '@page' )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:18:9: '@page'
+ {
+ match("@page");
+
+
+ }
+
+ 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.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:19:7: ( ':' )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:19: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.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:20:7: ( '*' )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:20: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.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:21:7: ( '(' )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:21: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.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:22:7: ( ')' )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:22: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.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:23:7: ( 'url(' )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:23:9: 'url('
+ {
+ match("url(");
+
+
+ }
+
+ 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.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:24:7: ( '/' )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:24: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.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:25:7: ( '[' )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:25: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.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:26:7: ( ']' )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:26:9: ']'
+ {
+ match(']');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__37"
+
+ // $ANTLR start "T__38"
+ public final void mT__38() throws RecognitionException {
+ try {
+ int _type = T__38;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:27:7: ( '-' )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:27: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.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:28:7: ( '+' )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:28: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.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:29:7: ( '>' )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:29: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.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:30:7: ( '=' )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:30:9: '='
+ {
+ match('=');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__41"
+
+ // $ANTLR start "T__42"
+ public final void mT__42() throws RecognitionException {
+ try {
+ int _type = T__42;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:31:7: ( '~=' )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:31: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.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:32:7: ( '!=' )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:32:9: '!='
+ {
+ match("!=");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "T__43"
+
+ // $ANTLR start "RULE_HASH"
+ public final void mRULE_HASH() throws RecognitionException {
+ try {
+ int _type = RULE_HASH;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2758:11: ( '#' ( 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' )+ )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2758:13: '#' ( 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' )+
+ {
+ match('#');
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2758:17: ( 'A' .. 'Z' | 'a' .. 'z' | '0' .. '9' )+
+ 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<='Z')||(LA1_0>='a' && LA1_0<='z')) ) {
+ alt1=1;
+ }
+
+
+ switch (alt1) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/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)>='a' && input.LA(1)<='z') ) {
+ 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_HASH"
+
+ // $ANTLR start "RULE_T_CLASS"
+ public final void mRULE_T_CLASS() throws RecognitionException {
+ try {
+ int _type = RULE_T_CLASS;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2760:14: ( '.' RULE_ID )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2760:16: '.' RULE_ID
+ {
+ match('.');
+ mRULE_ID();
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_T_CLASS"
+
+ // $ANTLR start "RULE_T_IMPORTANT"
+ public final void mRULE_T_IMPORTANT() throws RecognitionException {
+ try {
+ int _type = RULE_T_IMPORTANT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2762:18: ( '!important' )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2762:20: '!important'
+ {
+ match("!important");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_T_IMPORTANT"
+
+ // $ANTLR start "RULE_PC_UNIT"
+ public final void mRULE_PC_UNIT() throws RecognitionException {
+ try {
+ int _type = RULE_PC_UNIT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2764:14: ( '%' )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2764:16: '%'
+ {
+ match('%');
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_PC_UNIT"
+
+ // $ANTLR start "RULE_LEN_UNIT"
+ public final void mRULE_LEN_UNIT() throws RecognitionException {
+ try {
+ int _type = RULE_LEN_UNIT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2766:15: ( ( 'px' | 'cm' | 'mm' | 'in' | 'pt' | 'pc' ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2766:17: ( 'px' | 'cm' | 'mm' | 'in' | 'pt' | 'pc' )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2766:17: ( 'px' | 'cm' | 'mm' | 'in' | 'pt' | 'pc' )
+ int alt2=6;
+ switch ( input.LA(1) ) {
+ case 'p':
+ {
+ switch ( input.LA(2) ) {
+ case 'x':
+ {
+ alt2=1;
+ }
+ break;
+ case 't':
+ {
+ alt2=5;
+ }
+ break;
+ case 'c':
+ {
+ alt2=6;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("", 2, 1, input);
+
+ throw nvae;
+ }
+
+ }
+ break;
+ case 'c':
+ {
+ alt2=2;
+ }
+ break;
+ case 'm':
+ {
+ alt2=3;
+ }
+ break;
+ case 'i':
+ {
+ alt2=4;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("", 2, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt2) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2766:18: 'px'
+ {
+ match("px");
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2766:23: 'cm'
+ {
+ match("cm");
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2766:28: 'mm'
+ {
+ match("mm");
+
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2766:33: 'in'
+ {
+ match("in");
+
+
+ }
+ break;
+ case 5 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2766:38: 'pt'
+ {
+ match("pt");
+
+
+ }
+ break;
+ case 6 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2766:43: 'pc'
+ {
+ match("pc");
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_LEN_UNIT"
+
+ // $ANTLR start "RULE_EM_UNIT"
+ public final void mRULE_EM_UNIT() throws RecognitionException {
+ try {
+ int _type = RULE_EM_UNIT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2768:14: ( 'em' )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2768:16: 'em'
+ {
+ match("em");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_EM_UNIT"
+
+ // $ANTLR start "RULE_EX_UNIT"
+ public final void mRULE_EX_UNIT() throws RecognitionException {
+ try {
+ int _type = RULE_EX_UNIT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2770:14: ( 'ex' )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2770:16: 'ex'
+ {
+ match("ex");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_EX_UNIT"
+
+ // $ANTLR start "RULE_ANGLE_UNIT"
+ public final void mRULE_ANGLE_UNIT() throws RecognitionException {
+ try {
+ int _type = RULE_ANGLE_UNIT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2772:17: ( ( 'deg' | 'rad' | 'grad' ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2772:19: ( 'deg' | 'rad' | 'grad' )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2772:19: ( 'deg' | 'rad' | 'grad' )
+ int alt3=3;
+ switch ( input.LA(1) ) {
+ case 'd':
+ {
+ alt3=1;
+ }
+ break;
+ case 'r':
+ {
+ alt3=2;
+ }
+ break;
+ case 'g':
+ {
+ alt3=3;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("", 3, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt3) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2772:20: 'deg'
+ {
+ match("deg");
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2772:26: 'rad'
+ {
+ match("rad");
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2772:32: 'grad'
+ {
+ match("grad");
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ANGLE_UNIT"
+
+ // $ANTLR start "RULE_TIME_UNIT"
+ public final void mRULE_TIME_UNIT() throws RecognitionException {
+ try {
+ int _type = RULE_TIME_UNIT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2774:16: ( ( 's' | 'ms' ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2774:18: ( 's' | 'ms' )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2774:18: ( 's' | 'ms' )
+ int alt4=2;
+ int LA4_0 = input.LA(1);
+
+ if ( (LA4_0=='s') ) {
+ alt4=1;
+ }
+ else if ( (LA4_0=='m') ) {
+ alt4=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 4, 0, input);
+
+ throw nvae;
+ }
+ switch (alt4) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2774:19: 's'
+ {
+ match('s');
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2774:23: 'ms'
+ {
+ match("ms");
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_TIME_UNIT"
+
+ // $ANTLR start "RULE_FREQ_UNIT"
+ public final void mRULE_FREQ_UNIT() throws RecognitionException {
+ try {
+ int _type = RULE_FREQ_UNIT;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2776:16: ( ( 'hz' | 'mhz' ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2776:18: ( 'hz' | 'mhz' )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2776:18: ( 'hz' | 'mhz' )
+ int alt5=2;
+ int LA5_0 = input.LA(1);
+
+ if ( (LA5_0=='h') ) {
+ alt5=1;
+ }
+ else if ( (LA5_0=='m') ) {
+ alt5=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 5, 0, input);
+
+ throw nvae;
+ }
+ switch (alt5) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2776:19: 'hz'
+ {
+ match("hz");
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2776:24: 'mhz'
+ {
+ match("mhz");
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_FREQ_UNIT"
+
+ // $ANTLR start "RULE_T_NUM"
+ public final void mRULE_T_NUM() throws RecognitionException {
+ try {
+ int _type = RULE_T_NUM;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2778:12: ( ( ( '0' .. '9' )+ | ( '0' .. '9' )* '.' ( '0' .. '9' )+ ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2778:14: ( ( '0' .. '9' )+ | ( '0' .. '9' )* '.' ( '0' .. '9' )+ )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2778:14: ( ( '0' .. '9' )+ | ( '0' .. '9' )* '.' ( '0' .. '9' )+ )
+ int alt9=2;
+ alt9 = dfa9.predict(input);
+ switch (alt9) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2778:15: ( '0' .. '9' )+
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2778:15: ( '0' .. '9' )+
+ int cnt6=0;
+ loop6:
+ do {
+ int alt6=2;
+ int LA6_0 = input.LA(1);
+
+ if ( ((LA6_0>='0' && LA6_0<='9')) ) {
+ alt6=1;
+ }
+
+
+ switch (alt6) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2778:16: '0' .. '9'
+ {
+ matchRange('0','9');
+
+ }
+ break;
+
+ default :
+ if ( cnt6 >= 1 ) break loop6;
+ EarlyExitException eee =
+ new EarlyExitException(6, input);
+ throw eee;
+ }
+ cnt6++;
+ } while (true);
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2778:27: ( '0' .. '9' )* '.' ( '0' .. '9' )+
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2778:27: ( '0' .. '9' )*
+ loop7:
+ do {
+ int alt7=2;
+ int LA7_0 = input.LA(1);
+
+ if ( ((LA7_0>='0' && LA7_0<='9')) ) {
+ alt7=1;
+ }
+
+
+ switch (alt7) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2778:28: '0' .. '9'
+ {
+ matchRange('0','9');
+
+ }
+ break;
+
+ default :
+ break loop7;
+ }
+ } while (true);
+
+ match('.');
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2778:43: ( '0' .. '9' )+
+ int cnt8=0;
+ loop8:
+ do {
+ int alt8=2;
+ int LA8_0 = input.LA(1);
+
+ if ( ((LA8_0>='0' && LA8_0<='9')) ) {
+ alt8=1;
+ }
+
+
+ switch (alt8) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2778:44: '0' .. '9'
+ {
+ matchRange('0','9');
+
+ }
+ break;
+
+ default :
+ if ( cnt8 >= 1 ) break loop8;
+ EarlyExitException eee =
+ new EarlyExitException(8, input);
+ throw eee;
+ }
+ cnt8++;
+ } while (true);
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_T_NUM"
+
+ // $ANTLR start "RULE_ID"
+ public final void mRULE_ID() throws RecognitionException {
+ try {
+ int _type = RULE_ID;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2780:9: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2780:11: ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+ {
+ if ( (input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+ input.consume();
+
+ }
+ else {
+ MismatchedSetException mse = new MismatchedSetException(null,input);
+ recover(mse);
+ throw mse;}
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2780:35: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
+ loop10:
+ do {
+ int alt10=2;
+ int LA10_0 = input.LA(1);
+
+ if ( ((LA10_0>='0' && LA10_0<='9')||(LA10_0>='A' && LA10_0<='Z')||LA10_0=='_'||(LA10_0>='a' && LA10_0<='z')) ) {
+ alt10=1;
+ }
+
+
+ switch (alt10) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/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 loop10;
+ }
+ } while (true);
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ID"
+
+ // $ANTLR start "RULE_STRING"
+ public final void mRULE_STRING() throws RecognitionException {
+ try {
+ int _type = RULE_STRING;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2782:13: ( ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2782:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2782:15: ( '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
+ int alt13=2;
+ int LA13_0 = input.LA(1);
+
+ if ( (LA13_0=='\"') ) {
+ alt13=1;
+ }
+ else if ( (LA13_0=='\'') ) {
+ alt13=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 13, 0, input);
+
+ throw nvae;
+ }
+ switch (alt13) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2782:16: '\"' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
+ {
+ match('\"');
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2782:20: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\"' ) ) )*
+ loop11:
+ do {
+ int alt11=3;
+ int LA11_0 = input.LA(1);
+
+ if ( (LA11_0=='\\') ) {
+ alt11=1;
+ }
+ else if ( ((LA11_0>='\u0000' && LA11_0<='!')||(LA11_0>='#' && LA11_0<='[')||(LA11_0>=']' && LA11_0<='\uFFFF')) ) {
+ alt11=2;
+ }
+
+
+ switch (alt11) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2782: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.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2782: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 loop11;
+ }
+ } while (true);
+
+ match('\"');
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2782:86: '\\'' ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
+ {
+ match('\'');
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2782:91: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | 'u' | '\"' | '\\'' | '\\\\' ) | ~ ( ( '\\\\' | '\\'' ) ) )*
+ loop12:
+ do {
+ int alt12=3;
+ int LA12_0 = input.LA(1);
+
+ if ( (LA12_0=='\\') ) {
+ alt12=1;
+ }
+ else if ( ((LA12_0>='\u0000' && LA12_0<='&')||(LA12_0>='(' && LA12_0<='[')||(LA12_0>=']' && LA12_0<='\uFFFF')) ) {
+ alt12=2;
+ }
+
+
+ switch (alt12) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2782: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.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2782: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 loop12;
+ }
+ } while (true);
+
+ match('\'');
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_STRING"
+
+ // $ANTLR start "RULE_CDO"
+ public final void mRULE_CDO() throws RecognitionException {
+ try {
+ int _type = RULE_CDO;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2784:10: ( '<!--' )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2784:12: '<!--'
+ {
+ match("<!--");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_CDO"
+
+ // $ANTLR start "RULE_CDC"
+ public final void mRULE_CDC() throws RecognitionException {
+ try {
+ int _type = RULE_CDC;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2786:10: ( '-->' )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2786:12: '-->'
+ {
+ match("-->");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_CDC"
+
+ // $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.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2788:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2788:19: '/*' ( options {greedy=false; } : . )* '*/'
+ {
+ match("/*");
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2788:24: ( options {greedy=false; } : . )*
+ loop14:
+ do {
+ int alt14=2;
+ int LA14_0 = input.LA(1);
+
+ if ( (LA14_0=='*') ) {
+ int LA14_1 = input.LA(2);
+
+ if ( (LA14_1=='/') ) {
+ alt14=2;
+ }
+ else if ( ((LA14_1>='\u0000' && LA14_1<='.')||(LA14_1>='0' && LA14_1<='\uFFFF')) ) {
+ alt14=1;
+ }
+
+
+ }
+ else if ( ((LA14_0>='\u0000' && LA14_0<=')')||(LA14_0>='+' && LA14_0<='\uFFFF')) ) {
+ alt14=1;
+ }
+
+
+ switch (alt14) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2788:52: .
+ {
+ matchAny();
+
+ }
+ break;
+
+ default :
+ break loop14;
+ }
+ } while (true);
+
+ match("*/");
+
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ML_COMMENT"
+
+ // $ANTLR start "RULE_WS"
+ public final void mRULE_WS() throws RecognitionException {
+ try {
+ int _type = RULE_WS;
+ int _channel = DEFAULT_TOKEN_CHANNEL;
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2790:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2790:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2790:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
+ int cnt15=0;
+ loop15:
+ do {
+ int alt15=2;
+ int LA15_0 = input.LA(1);
+
+ if ( ((LA15_0>='\t' && LA15_0<='\n')||LA15_0=='\r'||LA15_0==' ') ) {
+ alt15=1;
+ }
+
+
+ switch (alt15) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/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 ( cnt15 >= 1 ) break loop15;
+ EarlyExitException eee =
+ new EarlyExitException(15, input);
+ throw eee;
+ }
+ cnt15++;
+ } 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.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2792:16: ( . )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2792:18: .
+ {
+ matchAny();
+
+ }
+
+ state.type = _type;
+ state.channel = _channel;
+ }
+ finally {
+ }
+ }
+ // $ANTLR end "RULE_ANY_OTHER"
+
+ public void mTokens() throws RecognitionException {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:8: ( 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 | RULE_HASH | RULE_T_CLASS | RULE_T_IMPORTANT | RULE_PC_UNIT | RULE_LEN_UNIT | RULE_EM_UNIT | RULE_EX_UNIT | RULE_ANGLE_UNIT | RULE_TIME_UNIT | RULE_FREQ_UNIT | RULE_T_NUM | RULE_ID | RULE_STRING | RULE_CDO | RULE_CDC | RULE_ML_COMMENT | RULE_WS | RULE_ANY_OTHER )
+ int alt16=40;
+ alt16 = dfa16.predict(input);
+ switch (alt16) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:10: T__22
+ {
+ mT__22();
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:16: T__23
+ {
+ mT__23();
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:22: T__24
+ {
+ mT__24();
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:28: T__25
+ {
+ mT__25();
+
+ }
+ break;
+ case 5 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:34: T__26
+ {
+ mT__26();
+
+ }
+ break;
+ case 6 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:40: T__27
+ {
+ mT__27();
+
+ }
+ break;
+ case 7 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:46: T__28
+ {
+ mT__28();
+
+ }
+ break;
+ case 8 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:52: T__29
+ {
+ mT__29();
+
+ }
+ break;
+ case 9 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:58: T__30
+ {
+ mT__30();
+
+ }
+ break;
+ case 10 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:64: T__31
+ {
+ mT__31();
+
+ }
+ break;
+ case 11 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:70: T__32
+ {
+ mT__32();
+
+ }
+ break;
+ case 12 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:76: T__33
+ {
+ mT__33();
+
+ }
+ break;
+ case 13 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:82: T__34
+ {
+ mT__34();
+
+ }
+ break;
+ case 14 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:88: T__35
+ {
+ mT__35();
+
+ }
+ break;
+ case 15 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:94: T__36
+ {
+ mT__36();
+
+ }
+ break;
+ case 16 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:100: T__37
+ {
+ mT__37();
+
+ }
+ break;
+ case 17 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:106: T__38
+ {
+ mT__38();
+
+ }
+ break;
+ case 18 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:112: T__39
+ {
+ mT__39();
+
+ }
+ break;
+ case 19 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:118: T__40
+ {
+ mT__40();
+
+ }
+ break;
+ case 20 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:124: T__41
+ {
+ mT__41();
+
+ }
+ break;
+ case 21 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:130: T__42
+ {
+ mT__42();
+
+ }
+ break;
+ case 22 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:136: T__43
+ {
+ mT__43();
+
+ }
+ break;
+ case 23 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:142: RULE_HASH
+ {
+ mRULE_HASH();
+
+ }
+ break;
+ case 24 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:152: RULE_T_CLASS
+ {
+ mRULE_T_CLASS();
+
+ }
+ break;
+ case 25 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:165: RULE_T_IMPORTANT
+ {
+ mRULE_T_IMPORTANT();
+
+ }
+ break;
+ case 26 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:182: RULE_PC_UNIT
+ {
+ mRULE_PC_UNIT();
+
+ }
+ break;
+ case 27 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:195: RULE_LEN_UNIT
+ {
+ mRULE_LEN_UNIT();
+
+ }
+ break;
+ case 28 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:209: RULE_EM_UNIT
+ {
+ mRULE_EM_UNIT();
+
+ }
+ break;
+ case 29 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:222: RULE_EX_UNIT
+ {
+ mRULE_EX_UNIT();
+
+ }
+ break;
+ case 30 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:235: RULE_ANGLE_UNIT
+ {
+ mRULE_ANGLE_UNIT();
+
+ }
+ break;
+ case 31 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:251: RULE_TIME_UNIT
+ {
+ mRULE_TIME_UNIT();
+
+ }
+ break;
+ case 32 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:266: RULE_FREQ_UNIT
+ {
+ mRULE_FREQ_UNIT();
+
+ }
+ break;
+ case 33 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:281: RULE_T_NUM
+ {
+ mRULE_T_NUM();
+
+ }
+ break;
+ case 34 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:292: RULE_ID
+ {
+ mRULE_ID();
+
+ }
+ break;
+ case 35 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:300: RULE_STRING
+ {
+ mRULE_STRING();
+
+ }
+ break;
+ case 36 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:312: RULE_CDO
+ {
+ mRULE_CDO();
+
+ }
+ break;
+ case 37 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:321: RULE_CDC
+ {
+ mRULE_CDC();
+
+ }
+ break;
+ case 38 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:330: RULE_ML_COMMENT
+ {
+ mRULE_ML_COMMENT();
+
+ }
+ break;
+ case 39 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:346: RULE_WS
+ {
+ mRULE_WS();
+
+ }
+ break;
+ case 40 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1:354: RULE_ANY_OTHER
+ {
+ mRULE_ANY_OTHER();
+
+ }
+ break;
+
+ }
+
+ }
+
+
+ protected DFA9 dfa9 = new DFA9(this);
+ protected DFA16 dfa16 = new DFA16(this);
+ static final String DFA9_eotS =
+ "\1\uffff\1\3\2\uffff";
+ static final String DFA9_eofS =
+ "\4\uffff";
+ static final String DFA9_minS =
+ "\2\56\2\uffff";
+ static final String DFA9_maxS =
+ "\2\71\2\uffff";
+ static final String DFA9_acceptS =
+ "\2\uffff\1\2\1\1";
+ static final String DFA9_specialS =
+ "\4\uffff}>";
+ static final String[] DFA9_transitionS = {
+ "\1\2\1\uffff\12\1",
+ "\1\2\1\uffff\12\1",
+ "",
+ ""
+ };
+
+ static final short[] DFA9_eot = DFA.unpackEncodedString(DFA9_eotS);
+ static final short[] DFA9_eof = DFA.unpackEncodedString(DFA9_eofS);
+ static final char[] DFA9_min = DFA.unpackEncodedStringToUnsignedChars(DFA9_minS);
+ static final char[] DFA9_max = DFA.unpackEncodedStringToUnsignedChars(DFA9_maxS);
+ static final short[] DFA9_accept = DFA.unpackEncodedString(DFA9_acceptS);
+ static final short[] DFA9_special = DFA.unpackEncodedString(DFA9_specialS);
+ static final short[][] DFA9_transition;
+
+ static {
+ int numStates = DFA9_transitionS.length;
+ DFA9_transition = new short[numStates][];
+ for (int i=0; i<numStates; i++) {
+ DFA9_transition[i] = DFA.unpackEncodedString(DFA9_transitionS[i]);
+ }
+ }
+
+ class DFA9 extends DFA {
+
+ public DFA9(BaseRecognizer recognizer) {
+ this.recognizer = recognizer;
+ this.decisionNumber = 9;
+ this.eot = DFA9_eot;
+ this.eof = DFA9_eof;
+ this.min = DFA9_min;
+ this.max = DFA9_max;
+ this.accept = DFA9_accept;
+ this.special = DFA9_special;
+ this.transition = DFA9_transition;
+ }
+ public String getDescription() {
+ return "2778:14: ( ( '0' .. '9' )+ | ( '0' .. '9' )* '.' ( '0' .. '9' )+ )";
+ }
+ }
+ static final String DFA16_eotS =
+ "\1\uffff\1\47\10\uffff\1\65\1\67\2\uffff\1\73\3\uffff\4\47\1\uffff"+
+ "\10\65\1\123\1\65\2\uffff\3\47\16\uffff\1\65\21\uffff\5\131\1\123"+
+ "\1\65\1\131\1\133\1\134\3\65\1\uffff\1\140\3\uffff\1\65\1\uffff"+
+ "\1\140\2\uffff\2\142\1\65\3\uffff\1\142";
+ static final String DFA16_eofS =
+ "\144\uffff";
+ static final String DFA16_minS =
+ "\1\0\1\143\10\uffff\1\162\1\52\2\uffff\1\55\3\uffff\2\75\2\60\1"+
+ "\uffff\1\143\1\155\1\150\1\156\1\155\1\145\1\141\1\162\1\60\1\172"+
+ "\2\uffff\2\0\1\41\16\uffff\1\154\21\uffff\6\60\1\172\3\60\1\147"+
+ "\1\144\1\141\1\uffff\1\60\3\uffff\1\50\1\uffff\1\60\2\uffff\2\60"+
+ "\1\144\3\uffff\1\60";
+ static final String DFA16_maxS =
+ "\1\uffff\1\160\10\uffff\1\162\1\52\2\uffff\1\55\3\uffff\1\75\1"+
+ "\151\2\172\1\uffff\1\170\1\155\1\163\1\156\1\170\1\145\1\141\1\162"+
+ "\2\172\2\uffff\2\uffff\1\41\16\uffff\1\154\21\uffff\12\172\1\147"+
+ "\1\144\1\141\1\uffff\1\172\3\uffff\1\50\1\uffff\1\172\2\uffff\2"+
+ "\172\1\144\3\uffff\1\172";
+ static final String DFA16_acceptS =
+ "\2\uffff\1\2\1\4\1\6\1\7\1\11\1\12\1\13\1\14\2\uffff\1\17\1\20"+
+ "\1\uffff\1\22\1\23\1\24\4\uffff\1\32\12\uffff\1\41\1\42\3\uffff"+
+ "\1\47\1\50\1\1\1\3\1\5\1\10\1\2\1\4\1\6\1\7\1\11\1\12\1\13\1\14"+
+ "\1\uffff\1\42\1\46\1\16\1\17\1\20\1\45\1\21\1\22\1\23\1\24\1\25"+
+ "\1\26\1\31\1\27\1\41\1\30\1\32\15\uffff\1\37\1\uffff\1\43\1\44\1"+
+ "\47\1\uffff\1\33\1\uffff\1\34\1\35\3\uffff\1\40\1\15\1\36\1\uffff";
+ static final String DFA16_specialS =
+ "\1\2\42\uffff\1\1\1\0\77\uffff}>";
+ static final String[] DFA16_transitionS = {
+ "\11\47\2\46\2\47\1\46\22\47\1\46\1\23\1\43\1\24\1\47\1\26\1"+
+ "\47\1\44\1\10\1\11\1\7\1\17\1\3\1\16\1\25\1\13\12\41\1\6\1\2"+
+ "\1\45\1\21\1\20\1\47\1\1\32\42\1\14\1\47\1\15\1\47\1\42\1\47"+
+ "\2\42\1\30\1\34\1\33\1\42\1\36\1\40\1\32\3\42\1\31\2\42\1\27"+
+ "\1\42\1\35\1\37\1\42\1\12\5\42\1\4\1\47\1\5\1\22\uff81\47",
+ "\1\50\5\uffff\1\51\3\uffff\1\52\2\uffff\1\53",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\64",
+ "\1\66",
+ "",
+ "",
+ "\1\72",
+ "",
+ "",
+ "",
+ "\1\77",
+ "\1\100\53\uffff\1\101",
+ "\12\102\7\uffff\32\102\6\uffff\32\102",
+ "\12\103\7\uffff\32\104\4\uffff\1\104\1\uffff\32\104",
+ "",
+ "\1\110\20\uffff\1\107\3\uffff\1\106",
+ "\1\111",
+ "\1\114\4\uffff\1\112\5\uffff\1\113",
+ "\1\115",
+ "\1\116\12\uffff\1\117",
+ "\1\120",
+ "\1\121",
+ "\1\122",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\1\124",
+ "",
+ "",
+ "\0\125",
+ "\0\125",
+ "\1\126",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\1\130",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\1\132",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\1\135",
+ "\1\136",
+ "\1\137",
+ "",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "",
+ "",
+ "",
+ "\1\141",
+ "",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "",
+ "",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65",
+ "\1\143",
+ "",
+ "",
+ "",
+ "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65"
+ };
+
+ static final short[] DFA16_eot = DFA.unpackEncodedString(DFA16_eotS);
+ static final short[] DFA16_eof = DFA.unpackEncodedString(DFA16_eofS);
+ static final char[] DFA16_min = DFA.unpackEncodedStringToUnsignedChars(DFA16_minS);
+ static final char[] DFA16_max = DFA.unpackEncodedStringToUnsignedChars(DFA16_maxS);
+ static final short[] DFA16_accept = DFA.unpackEncodedString(DFA16_acceptS);
+ static final short[] DFA16_special = DFA.unpackEncodedString(DFA16_specialS);
+ static final short[][] DFA16_transition;
+
+ static {
+ int numStates = DFA16_transitionS.length;
+ DFA16_transition = new short[numStates][];
+ for (int i=0; i<numStates; i++) {
+ DFA16_transition[i] = DFA.unpackEncodedString(DFA16_transitionS[i]);
+ }
+ }
+
+ class DFA16 extends DFA {
+
+ public DFA16(BaseRecognizer recognizer) {
+ this.recognizer = recognizer;
+ this.decisionNumber = 16;
+ this.eot = DFA16_eot;
+ this.eof = DFA16_eof;
+ this.min = DFA16_min;
+ this.max = DFA16_max;
+ this.accept = DFA16_accept;
+ this.special = DFA16_special;
+ this.transition = DFA16_transition;
+ }
+ public String getDescription() {
+ return "1:1: Tokens : ( 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 | RULE_HASH | RULE_T_CLASS | RULE_T_IMPORTANT | RULE_PC_UNIT | RULE_LEN_UNIT | RULE_EM_UNIT | RULE_EX_UNIT | RULE_ANGLE_UNIT | RULE_TIME_UNIT | RULE_FREQ_UNIT | RULE_T_NUM | RULE_ID | RULE_STRING | RULE_CDO | RULE_CDC | RULE_ML_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 LA16_36 = input.LA(1);
+
+ s = -1;
+ if ( ((LA16_36>='\u0000' && LA16_36<='\uFFFF')) ) {s = 85;}
+
+ else s = 39;
+
+ if ( s>=0 ) return s;
+ break;
+ case 1 :
+ int LA16_35 = input.LA(1);
+
+ s = -1;
+ if ( ((LA16_35>='\u0000' && LA16_35<='\uFFFF')) ) {s = 85;}
+
+ else s = 39;
+
+ if ( s>=0 ) return s;
+ break;
+ case 2 :
+ int LA16_0 = input.LA(1);
+
+ s = -1;
+ if ( (LA16_0=='@') ) {s = 1;}
+
+ else if ( (LA16_0==';') ) {s = 2;}
+
+ else if ( (LA16_0==',') ) {s = 3;}
+
+ else if ( (LA16_0=='{') ) {s = 4;}
+
+ else if ( (LA16_0=='}') ) {s = 5;}
+
+ else if ( (LA16_0==':') ) {s = 6;}
+
+ else if ( (LA16_0=='*') ) {s = 7;}
+
+ else if ( (LA16_0=='(') ) {s = 8;}
+
+ else if ( (LA16_0==')') ) {s = 9;}
+
+ else if ( (LA16_0=='u') ) {s = 10;}
+
+ else if ( (LA16_0=='/') ) {s = 11;}
+
+ else if ( (LA16_0=='[') ) {s = 12;}
+
+ else if ( (LA16_0==']') ) {s = 13;}
+
+ else if ( (LA16_0=='-') ) {s = 14;}
+
+ else if ( (LA16_0=='+') ) {s = 15;}
+
+ else if ( (LA16_0=='>') ) {s = 16;}
+
+ else if ( (LA16_0=='=') ) {s = 17;}
+
+ else if ( (LA16_0=='~') ) {s = 18;}
+
+ else if ( (LA16_0=='!') ) {s = 19;}
+
+ else if ( (LA16_0=='#') ) {s = 20;}
+
+ else if ( (LA16_0=='.') ) {s = 21;}
+
+ else if ( (LA16_0=='%') ) {s = 22;}
+
+ else if ( (LA16_0=='p') ) {s = 23;}
+
+ else if ( (LA16_0=='c') ) {s = 24;}
+
+ else if ( (LA16_0=='m') ) {s = 25;}
+
+ else if ( (LA16_0=='i') ) {s = 26;}
+
+ else if ( (LA16_0=='e') ) {s = 27;}
+
+ else if ( (LA16_0=='d') ) {s = 28;}
+
+ else if ( (LA16_0=='r') ) {s = 29;}
+
+ else if ( (LA16_0=='g') ) {s = 30;}
+
+ else if ( (LA16_0=='s') ) {s = 31;}
+
+ else if ( (LA16_0=='h') ) {s = 32;}
+
+ else if ( ((LA16_0>='0' && LA16_0<='9')) ) {s = 33;}
+
+ else if ( ((LA16_0>='A' && LA16_0<='Z')||LA16_0=='_'||(LA16_0>='a' && LA16_0<='b')||LA16_0=='f'||(LA16_0>='j' && LA16_0<='l')||(LA16_0>='n' && LA16_0<='o')||LA16_0=='q'||LA16_0=='t'||(LA16_0>='v' && LA16_0<='z')) ) {s = 34;}
+
+ else if ( (LA16_0=='\"') ) {s = 35;}
+
+ else if ( (LA16_0=='\'') ) {s = 36;}
+
+ else if ( (LA16_0=='<') ) {s = 37;}
+
+ else if ( ((LA16_0>='\t' && LA16_0<='\n')||LA16_0=='\r'||LA16_0==' ') ) {s = 38;}
+
+ else if ( ((LA16_0>='\u0000' && LA16_0<='\b')||(LA16_0>='\u000B' && LA16_0<='\f')||(LA16_0>='\u000E' && LA16_0<='\u001F')||LA16_0=='$'||LA16_0=='&'||LA16_0=='?'||LA16_0=='\\'||LA16_0=='^'||LA16_0=='`'||LA16_0=='|'||(LA16_0>='\u007F' && LA16_0<='\uFFFF')) ) {s = 39;}
+
+ if ( s>=0 ) return s;
+ break;
+ }
+ NoViableAltException nvae =
+ new NoViableAltException(getDescription(), 16, _s, input);
+ error(nvae);
+ throw nvae;
+ }
+ }
+
+
+} \ No newline at end of file
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSSParser.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSSParser.java
new file mode 100644
index 00000000000..bb03ab75419
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSSParser.java
@@ -0,0 +1,8335 @@
+package org.eclipse.papyrus.infra.gmfdiag.parser.antlr.internal;
+
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.common.util.Enumerator;
+import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
+import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
+import org.eclipse.papyrus.infra.gmfdiag.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_CDO", "RULE_CDC", "RULE_ID", "RULE_T_IMPORTANT", "RULE_T_NUM", "RULE_PC_UNIT", "RULE_LEN_UNIT", "RULE_EM_UNIT", "RULE_EX_UNIT", "RULE_ANGLE_UNIT", "RULE_TIME_UNIT", "RULE_FREQ_UNIT", "RULE_HASH", "RULE_T_CLASS", "RULE_ML_COMMENT", "RULE_ANY_OTHER", "'@charset '", "';'", "'@import'", "','", "'@media'", "'{'", "'}'", "'@page'", "':'", "'*'", "'('", "')'", "'url('", "'/'", "'['", "']'", "'-'", "'+'", "'>'", "'='", "'~='", "'!='"
+ };
+ public static final int RULE_ID=8;
+ 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 RULE_PC_UNIT=11;
+ public static final int T__22=22;
+ public static final int RULE_ANY_OTHER=21;
+ public static final int RULE_T_CLASS=19;
+ public static final int EOF=-1;
+ public static final int RULE_CDC=7;
+ public static final int T__42=42;
+ public static final int RULE_CDO=6;
+ 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 RULE_FREQ_UNIT=17;
+ public static final int RULE_T_IMPORTANT=9;
+ public static final int RULE_HASH=18;
+ public static final int RULE_ML_COMMENT=20;
+ public static final int T__30=30;
+ public static final int RULE_TIME_UNIT=16;
+ public static final int T__31=31;
+ public static final int RULE_LEN_UNIT=12;
+ public static final int T__32=32;
+ public static final int RULE_STRING=4;
+ public static final int T__33=33;
+ public static final int T__34=34;
+ public static final int T__35=35;
+ public static final int T__36=36;
+ public static final int T__37=37;
+ public static final int T__38=38;
+ public static final int T__39=39;
+ public static final int RULE_T_NUM=10;
+ public static final int RULE_ANGLE_UNIT=15;
+ public static final int RULE_EX_UNIT=14;
+ public static final int RULE_WS=5;
+ public static final int RULE_EM_UNIT=13;
+
+ // 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.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/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.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:68: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.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:69:2: (iv_ruleStylesheet= ruleStylesheet EOF )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:70: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.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:77:1: ruleStylesheet returns [EObject current=null] : ( (otherlv_0= '@charset ' ( (lv_charset_1_0= RULE_STRING ) ) otherlv_2= ';' )? (this_WS_3= RULE_WS | this_CDO_4= RULE_CDO | this_CDC_5= RULE_CDC )* ( ( (lv_imports_6_0= ruleImport ) ) ( (this_CDO_7= RULE_CDO (this_WS_8= RULE_WS )* ) | (this_CDC_9= RULE_CDC (this_WS_10= RULE_WS )* ) )* )* ( ( (lv_contents_11_0= ruleContent ) ) ( (this_CDO_12= RULE_CDO (this_WS_13= RULE_WS )* ) | (this_CDC_14= RULE_CDC (this_WS_15= RULE_WS )* ) )* )* ) ;
+ public final EObject ruleStylesheet() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token lv_charset_1_0=null;
+ Token otherlv_2=null;
+ Token this_WS_3=null;
+ Token this_CDO_4=null;
+ Token this_CDC_5=null;
+ Token this_CDO_7=null;
+ Token this_WS_8=null;
+ Token this_CDC_9=null;
+ Token this_WS_10=null;
+ Token this_CDO_12=null;
+ Token this_WS_13=null;
+ Token this_CDC_14=null;
+ Token this_WS_15=null;
+ EObject lv_imports_6_0 = null;
+
+ EObject lv_contents_11_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:80:28: ( ( (otherlv_0= '@charset ' ( (lv_charset_1_0= RULE_STRING ) ) otherlv_2= ';' )? (this_WS_3= RULE_WS | this_CDO_4= RULE_CDO | this_CDC_5= RULE_CDC )* ( ( (lv_imports_6_0= ruleImport ) ) ( (this_CDO_7= RULE_CDO (this_WS_8= RULE_WS )* ) | (this_CDC_9= RULE_CDC (this_WS_10= RULE_WS )* ) )* )* ( ( (lv_contents_11_0= ruleContent ) ) ( (this_CDO_12= RULE_CDO (this_WS_13= RULE_WS )* ) | (this_CDC_14= RULE_CDC (this_WS_15= RULE_WS )* ) )* )* ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:81:1: ( (otherlv_0= '@charset ' ( (lv_charset_1_0= RULE_STRING ) ) otherlv_2= ';' )? (this_WS_3= RULE_WS | this_CDO_4= RULE_CDO | this_CDC_5= RULE_CDC )* ( ( (lv_imports_6_0= ruleImport ) ) ( (this_CDO_7= RULE_CDO (this_WS_8= RULE_WS )* ) | (this_CDC_9= RULE_CDC (this_WS_10= RULE_WS )* ) )* )* ( ( (lv_contents_11_0= ruleContent ) ) ( (this_CDO_12= RULE_CDO (this_WS_13= RULE_WS )* ) | (this_CDC_14= RULE_CDC (this_WS_15= RULE_WS )* ) )* )* )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:81:1: ( (otherlv_0= '@charset ' ( (lv_charset_1_0= RULE_STRING ) ) otherlv_2= ';' )? (this_WS_3= RULE_WS | this_CDO_4= RULE_CDO | this_CDC_5= RULE_CDC )* ( ( (lv_imports_6_0= ruleImport ) ) ( (this_CDO_7= RULE_CDO (this_WS_8= RULE_WS )* ) | (this_CDC_9= RULE_CDC (this_WS_10= RULE_WS )* ) )* )* ( ( (lv_contents_11_0= ruleContent ) ) ( (this_CDO_12= RULE_CDO (this_WS_13= RULE_WS )* ) | (this_CDC_14= RULE_CDC (this_WS_15= RULE_WS )* ) )* )* )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:81:2: (otherlv_0= '@charset ' ( (lv_charset_1_0= RULE_STRING ) ) otherlv_2= ';' )? (this_WS_3= RULE_WS | this_CDO_4= RULE_CDO | this_CDC_5= RULE_CDC )* ( ( (lv_imports_6_0= ruleImport ) ) ( (this_CDO_7= RULE_CDO (this_WS_8= RULE_WS )* ) | (this_CDC_9= RULE_CDC (this_WS_10= RULE_WS )* ) )* )* ( ( (lv_contents_11_0= ruleContent ) ) ( (this_CDO_12= RULE_CDO (this_WS_13= RULE_WS )* ) | (this_CDC_14= RULE_CDC (this_WS_15= RULE_WS )* ) )* )*
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:81:2: (otherlv_0= '@charset ' ( (lv_charset_1_0= RULE_STRING ) ) otherlv_2= ';' )?
+ int alt1=2;
+ int LA1_0 = input.LA(1);
+
+ if ( (LA1_0==22) ) {
+ alt1=1;
+ }
+ switch (alt1) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:81:4: otherlv_0= '@charset ' ( (lv_charset_1_0= RULE_STRING ) ) otherlv_2= ';'
+ {
+ otherlv_0=(Token)match(input,22,FOLLOW_22_in_ruleStylesheet123);
+
+ newLeafNode(otherlv_0, grammarAccess.getStylesheetAccess().getCharsetKeyword_0_0());
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:85:1: ( (lv_charset_1_0= RULE_STRING ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:86:1: (lv_charset_1_0= RULE_STRING )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:86:1: (lv_charset_1_0= RULE_STRING )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:87:3: lv_charset_1_0= RULE_STRING
+ {
+ lv_charset_1_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleStylesheet140);
+
+ newLeafNode(lv_charset_1_0, grammarAccess.getStylesheetAccess().getCharsetSTRINGTerminalRuleCall_0_1_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getStylesheetRule());
+ }
+ setWithLastConsumed(
+ current,
+ "charset",
+ lv_charset_1_0,
+ "STRING");
+
+
+ }
+
+
+ }
+
+ otherlv_2=(Token)match(input,23,FOLLOW_23_in_ruleStylesheet157);
+
+ newLeafNode(otherlv_2, grammarAccess.getStylesheetAccess().getSemicolonKeyword_0_2());
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:107:3: (this_WS_3= RULE_WS | this_CDO_4= RULE_CDO | this_CDC_5= RULE_CDC )*
+ loop2:
+ do {
+ int alt2=4;
+ switch ( input.LA(1) ) {
+ case RULE_WS:
+ {
+ alt2=1;
+ }
+ break;
+ case RULE_CDO:
+ {
+ alt2=2;
+ }
+ break;
+ case RULE_CDC:
+ {
+ alt2=3;
+ }
+ break;
+
+ }
+
+ switch (alt2) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:107:4: this_WS_3= RULE_WS
+ {
+ this_WS_3=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleStylesheet171);
+
+ newLeafNode(this_WS_3, grammarAccess.getStylesheetAccess().getWSTerminalRuleCall_1_0());
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:112:6: this_CDO_4= RULE_CDO
+ {
+ this_CDO_4=(Token)match(input,RULE_CDO,FOLLOW_RULE_CDO_in_ruleStylesheet187);
+
+ newLeafNode(this_CDO_4, grammarAccess.getStylesheetAccess().getCDOTerminalRuleCall_1_1());
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:117:6: this_CDC_5= RULE_CDC
+ {
+ this_CDC_5=(Token)match(input,RULE_CDC,FOLLOW_RULE_CDC_in_ruleStylesheet203);
+
+ newLeafNode(this_CDC_5, grammarAccess.getStylesheetAccess().getCDCTerminalRuleCall_1_2());
+
+
+ }
+ break;
+
+ default :
+ break loop2;
+ }
+ } while (true);
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:121:3: ( ( (lv_imports_6_0= ruleImport ) ) ( (this_CDO_7= RULE_CDO (this_WS_8= RULE_WS )* ) | (this_CDC_9= RULE_CDC (this_WS_10= RULE_WS )* ) )* )*
+ loop6:
+ do {
+ int alt6=2;
+ int LA6_0 = input.LA(1);
+
+ if ( (LA6_0==24) ) {
+ alt6=1;
+ }
+
+
+ switch (alt6) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:121:4: ( (lv_imports_6_0= ruleImport ) ) ( (this_CDO_7= RULE_CDO (this_WS_8= RULE_WS )* ) | (this_CDC_9= RULE_CDC (this_WS_10= RULE_WS )* ) )*
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:121:4: ( (lv_imports_6_0= ruleImport ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:122:1: (lv_imports_6_0= ruleImport )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:122:1: (lv_imports_6_0= ruleImport )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:123:3: lv_imports_6_0= ruleImport
+ {
+
+ newCompositeNode(grammarAccess.getStylesheetAccess().getImportsImportParserRuleCall_2_0_0());
+
+ pushFollow(FOLLOW_ruleImport_in_ruleStylesheet226);
+ lv_imports_6_0=ruleImport();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getStylesheetRule());
+ }
+ add(
+ current,
+ "imports",
+ lv_imports_6_0,
+ "Import");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:139:2: ( (this_CDO_7= RULE_CDO (this_WS_8= RULE_WS )* ) | (this_CDC_9= RULE_CDC (this_WS_10= RULE_WS )* ) )*
+ loop5:
+ do {
+ int alt5=3;
+ int LA5_0 = input.LA(1);
+
+ if ( (LA5_0==RULE_CDO) ) {
+ alt5=1;
+ }
+ else if ( (LA5_0==RULE_CDC) ) {
+ alt5=2;
+ }
+
+
+ switch (alt5) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:139:3: (this_CDO_7= RULE_CDO (this_WS_8= RULE_WS )* )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:139:3: (this_CDO_7= RULE_CDO (this_WS_8= RULE_WS )* )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:139:4: this_CDO_7= RULE_CDO (this_WS_8= RULE_WS )*
+ {
+ this_CDO_7=(Token)match(input,RULE_CDO,FOLLOW_RULE_CDO_in_ruleStylesheet239);
+
+ newLeafNode(this_CDO_7, grammarAccess.getStylesheetAccess().getCDOTerminalRuleCall_2_1_0_0());
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:143:1: (this_WS_8= RULE_WS )*
+ loop3:
+ do {
+ int alt3=2;
+ int LA3_0 = input.LA(1);
+
+ if ( (LA3_0==RULE_WS) ) {
+ alt3=1;
+ }
+
+
+ switch (alt3) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:143:2: this_WS_8= RULE_WS
+ {
+ this_WS_8=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleStylesheet250);
+
+ newLeafNode(this_WS_8, grammarAccess.getStylesheetAccess().getWSTerminalRuleCall_2_1_0_1());
+
+
+ }
+ break;
+
+ default :
+ break loop3;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:148:6: (this_CDC_9= RULE_CDC (this_WS_10= RULE_WS )* )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:148:6: (this_CDC_9= RULE_CDC (this_WS_10= RULE_WS )* )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:148:7: this_CDC_9= RULE_CDC (this_WS_10= RULE_WS )*
+ {
+ this_CDC_9=(Token)match(input,RULE_CDC,FOLLOW_RULE_CDC_in_ruleStylesheet270);
+
+ newLeafNode(this_CDC_9, grammarAccess.getStylesheetAccess().getCDCTerminalRuleCall_2_1_1_0());
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:152:1: (this_WS_10= RULE_WS )*
+ loop4:
+ do {
+ int alt4=2;
+ int LA4_0 = input.LA(1);
+
+ if ( (LA4_0==RULE_WS) ) {
+ alt4=1;
+ }
+
+
+ switch (alt4) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:152:2: this_WS_10= RULE_WS
+ {
+ this_WS_10=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleStylesheet281);
+
+ newLeafNode(this_WS_10, grammarAccess.getStylesheetAccess().getWSTerminalRuleCall_2_1_1_1());
+
+
+ }
+ break;
+
+ default :
+ break loop4;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop5;
+ }
+ } while (true);
+
+
+ }
+ break;
+
+ default :
+ break loop6;
+ }
+ } while (true);
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:156:8: ( ( (lv_contents_11_0= ruleContent ) ) ( (this_CDO_12= RULE_CDO (this_WS_13= RULE_WS )* ) | (this_CDC_14= RULE_CDC (this_WS_15= RULE_WS )* ) )* )*
+ loop10:
+ do {
+ int alt10=2;
+ int LA10_0 = input.LA(1);
+
+ if ( (LA10_0==RULE_ID||(LA10_0>=RULE_HASH && LA10_0<=RULE_T_CLASS)||LA10_0==26||(LA10_0>=29 && LA10_0<=31)||LA10_0==36) ) {
+ alt10=1;
+ }
+
+
+ switch (alt10) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:156:9: ( (lv_contents_11_0= ruleContent ) ) ( (this_CDO_12= RULE_CDO (this_WS_13= RULE_WS )* ) | (this_CDC_14= RULE_CDC (this_WS_15= RULE_WS )* ) )*
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:156:9: ( (lv_contents_11_0= ruleContent ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:157:1: (lv_contents_11_0= ruleContent )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:157:1: (lv_contents_11_0= ruleContent )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:158:3: lv_contents_11_0= ruleContent
+ {
+
+ newCompositeNode(grammarAccess.getStylesheetAccess().getContentsContentParserRuleCall_3_0_0());
+
+ pushFollow(FOLLOW_ruleContent_in_ruleStylesheet309);
+ lv_contents_11_0=ruleContent();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getStylesheetRule());
+ }
+ add(
+ current,
+ "contents",
+ lv_contents_11_0,
+ "Content");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:174:2: ( (this_CDO_12= RULE_CDO (this_WS_13= RULE_WS )* ) | (this_CDC_14= RULE_CDC (this_WS_15= RULE_WS )* ) )*
+ loop9:
+ do {
+ int alt9=3;
+ int LA9_0 = input.LA(1);
+
+ if ( (LA9_0==RULE_CDO) ) {
+ alt9=1;
+ }
+ else if ( (LA9_0==RULE_CDC) ) {
+ alt9=2;
+ }
+
+
+ switch (alt9) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:174:3: (this_CDO_12= RULE_CDO (this_WS_13= RULE_WS )* )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:174:3: (this_CDO_12= RULE_CDO (this_WS_13= RULE_WS )* )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:174:4: this_CDO_12= RULE_CDO (this_WS_13= RULE_WS )*
+ {
+ this_CDO_12=(Token)match(input,RULE_CDO,FOLLOW_RULE_CDO_in_ruleStylesheet322);
+
+ newLeafNode(this_CDO_12, grammarAccess.getStylesheetAccess().getCDOTerminalRuleCall_3_1_0_0());
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:178:1: (this_WS_13= RULE_WS )*
+ loop7:
+ do {
+ int alt7=2;
+ int LA7_0 = input.LA(1);
+
+ if ( (LA7_0==RULE_WS) ) {
+ alt7=1;
+ }
+
+
+ switch (alt7) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:178:2: this_WS_13= RULE_WS
+ {
+ this_WS_13=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleStylesheet333);
+
+ newLeafNode(this_WS_13, grammarAccess.getStylesheetAccess().getWSTerminalRuleCall_3_1_0_1());
+
+
+ }
+ break;
+
+ default :
+ break loop7;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:183:6: (this_CDC_14= RULE_CDC (this_WS_15= RULE_WS )* )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:183:6: (this_CDC_14= RULE_CDC (this_WS_15= RULE_WS )* )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:183:7: this_CDC_14= RULE_CDC (this_WS_15= RULE_WS )*
+ {
+ this_CDC_14=(Token)match(input,RULE_CDC,FOLLOW_RULE_CDC_in_ruleStylesheet353);
+
+ newLeafNode(this_CDC_14, grammarAccess.getStylesheetAccess().getCDCTerminalRuleCall_3_1_1_0());
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:187:1: (this_WS_15= RULE_WS )*
+ loop8:
+ do {
+ int alt8=2;
+ int LA8_0 = input.LA(1);
+
+ if ( (LA8_0==RULE_WS) ) {
+ alt8=1;
+ }
+
+
+ switch (alt8) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:187:2: this_WS_15= RULE_WS
+ {
+ this_WS_15=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleStylesheet364);
+
+ newLeafNode(this_WS_15, grammarAccess.getStylesheetAccess().getWSTerminalRuleCall_3_1_1_1());
+
+
+ }
+ break;
+
+ default :
+ break loop8;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop9;
+ }
+ } while (true);
+
+
+ }
+ break;
+
+ default :
+ break loop10;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleStylesheet"
+
+
+ // $ANTLR start "entryRuleContent"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:199:1: entryRuleContent returns [EObject current=null] : iv_ruleContent= ruleContent EOF ;
+ public final EObject entryRuleContent() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleContent = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:200:2: (iv_ruleContent= ruleContent EOF )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:201:2: iv_ruleContent= ruleContent EOF
+ {
+ newCompositeNode(grammarAccess.getContentRule());
+ pushFollow(FOLLOW_ruleContent_in_entryRuleContent406);
+ iv_ruleContent=ruleContent();
+
+ state._fsp--;
+
+ current =iv_ruleContent;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleContent416);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleContent"
+
+
+ // $ANTLR start "ruleContent"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:208:1: ruleContent returns [EObject current=null] : (this_Ruleset_0= ruleRuleset | this_Media_1= ruleMedia | this_Page_2= rulePage ) ;
+ public final EObject ruleContent() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_Ruleset_0 = null;
+
+ EObject this_Media_1 = null;
+
+ EObject this_Page_2 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:211:28: ( (this_Ruleset_0= ruleRuleset | this_Media_1= ruleMedia | this_Page_2= rulePage ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:212:1: (this_Ruleset_0= ruleRuleset | this_Media_1= ruleMedia | this_Page_2= rulePage )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:212:1: (this_Ruleset_0= ruleRuleset | this_Media_1= ruleMedia | this_Page_2= rulePage )
+ int alt11=3;
+ switch ( input.LA(1) ) {
+ case RULE_ID:
+ case RULE_HASH:
+ case RULE_T_CLASS:
+ case 30:
+ case 31:
+ case 36:
+ {
+ alt11=1;
+ }
+ break;
+ case 26:
+ {
+ alt11=2;
+ }
+ break;
+ case 29:
+ {
+ alt11=3;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("", 11, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt11) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:213:5: this_Ruleset_0= ruleRuleset
+ {
+
+ newCompositeNode(grammarAccess.getContentAccess().getRulesetParserRuleCall_0());
+
+ pushFollow(FOLLOW_ruleRuleset_in_ruleContent463);
+ this_Ruleset_0=ruleRuleset();
+
+ state._fsp--;
+
+
+ current = this_Ruleset_0;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:223:5: this_Media_1= ruleMedia
+ {
+
+ newCompositeNode(grammarAccess.getContentAccess().getMediaParserRuleCall_1());
+
+ pushFollow(FOLLOW_ruleMedia_in_ruleContent490);
+ this_Media_1=ruleMedia();
+
+ state._fsp--;
+
+
+ current = this_Media_1;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:233:5: this_Page_2= rulePage
+ {
+
+ newCompositeNode(grammarAccess.getContentAccess().getPageParserRuleCall_2());
+
+ pushFollow(FOLLOW_rulePage_in_ruleContent517);
+ this_Page_2=rulePage();
+
+ state._fsp--;
+
+
+ current = this_Page_2;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleContent"
+
+
+ // $ANTLR start "entryRuleImport"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:249:1: entryRuleImport returns [EObject current=null] : iv_ruleImport= ruleImport EOF ;
+ public final EObject entryRuleImport() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleImport = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:250:2: (iv_ruleImport= ruleImport EOF )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:251:2: iv_ruleImport= ruleImport EOF
+ {
+ newCompositeNode(grammarAccess.getImportRule());
+ pushFollow(FOLLOW_ruleImport_in_entryRuleImport552);
+ iv_ruleImport=ruleImport();
+
+ state._fsp--;
+
+ current =iv_ruleImport;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleImport562);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleImport"
+
+
+ // $ANTLR start "ruleImport"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:258:1: ruleImport returns [EObject current=null] : (otherlv_0= '@import' ( ( (this_WS_1= RULE_WS )* ( (lv_string_2_0= RULE_STRING ) ) ) | (this_WS_3= RULE_WS ( (lv_uri_4_0= ruleUri ) ) ) ) (this_WS_5= RULE_WS )* ( ( (lv_media_6_0= RULE_ID ) ) (this_WS_7= RULE_WS )* (otherlv_8= ',' (this_WS_9= RULE_WS )* ( (lv_media_10_0= RULE_ID ) ) )* )? otherlv_11= ';' (this_WS_12= RULE_WS )* ) ;
+ public final EObject ruleImport() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token this_WS_1=null;
+ Token lv_string_2_0=null;
+ Token this_WS_3=null;
+ Token this_WS_5=null;
+ Token lv_media_6_0=null;
+ Token this_WS_7=null;
+ Token otherlv_8=null;
+ Token this_WS_9=null;
+ Token lv_media_10_0=null;
+ Token otherlv_11=null;
+ Token this_WS_12=null;
+ EObject lv_uri_4_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:261:28: ( (otherlv_0= '@import' ( ( (this_WS_1= RULE_WS )* ( (lv_string_2_0= RULE_STRING ) ) ) | (this_WS_3= RULE_WS ( (lv_uri_4_0= ruleUri ) ) ) ) (this_WS_5= RULE_WS )* ( ( (lv_media_6_0= RULE_ID ) ) (this_WS_7= RULE_WS )* (otherlv_8= ',' (this_WS_9= RULE_WS )* ( (lv_media_10_0= RULE_ID ) ) )* )? otherlv_11= ';' (this_WS_12= RULE_WS )* ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:262:1: (otherlv_0= '@import' ( ( (this_WS_1= RULE_WS )* ( (lv_string_2_0= RULE_STRING ) ) ) | (this_WS_3= RULE_WS ( (lv_uri_4_0= ruleUri ) ) ) ) (this_WS_5= RULE_WS )* ( ( (lv_media_6_0= RULE_ID ) ) (this_WS_7= RULE_WS )* (otherlv_8= ',' (this_WS_9= RULE_WS )* ( (lv_media_10_0= RULE_ID ) ) )* )? otherlv_11= ';' (this_WS_12= RULE_WS )* )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:262:1: (otherlv_0= '@import' ( ( (this_WS_1= RULE_WS )* ( (lv_string_2_0= RULE_STRING ) ) ) | (this_WS_3= RULE_WS ( (lv_uri_4_0= ruleUri ) ) ) ) (this_WS_5= RULE_WS )* ( ( (lv_media_6_0= RULE_ID ) ) (this_WS_7= RULE_WS )* (otherlv_8= ',' (this_WS_9= RULE_WS )* ( (lv_media_10_0= RULE_ID ) ) )* )? otherlv_11= ';' (this_WS_12= RULE_WS )* )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:262:3: otherlv_0= '@import' ( ( (this_WS_1= RULE_WS )* ( (lv_string_2_0= RULE_STRING ) ) ) | (this_WS_3= RULE_WS ( (lv_uri_4_0= ruleUri ) ) ) ) (this_WS_5= RULE_WS )* ( ( (lv_media_6_0= RULE_ID ) ) (this_WS_7= RULE_WS )* (otherlv_8= ',' (this_WS_9= RULE_WS )* ( (lv_media_10_0= RULE_ID ) ) )* )? otherlv_11= ';' (this_WS_12= RULE_WS )*
+ {
+ otherlv_0=(Token)match(input,24,FOLLOW_24_in_ruleImport599);
+
+ newLeafNode(otherlv_0, grammarAccess.getImportAccess().getImportKeyword_0());
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:266:1: ( ( (this_WS_1= RULE_WS )* ( (lv_string_2_0= RULE_STRING ) ) ) | (this_WS_3= RULE_WS ( (lv_uri_4_0= ruleUri ) ) ) )
+ int alt13=2;
+ int LA13_0 = input.LA(1);
+
+ if ( (LA13_0==RULE_WS) ) {
+ int LA13_1 = input.LA(2);
+
+ if ( (LA13_1==34) ) {
+ alt13=2;
+ }
+ else if ( ((LA13_1>=RULE_STRING && LA13_1<=RULE_WS)) ) {
+ alt13=1;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 13, 1, input);
+
+ throw nvae;
+ }
+ }
+ else if ( (LA13_0==RULE_STRING) ) {
+ alt13=1;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 13, 0, input);
+
+ throw nvae;
+ }
+ switch (alt13) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:266:2: ( (this_WS_1= RULE_WS )* ( (lv_string_2_0= RULE_STRING ) ) )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:266:2: ( (this_WS_1= RULE_WS )* ( (lv_string_2_0= RULE_STRING ) ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:266:3: (this_WS_1= RULE_WS )* ( (lv_string_2_0= RULE_STRING ) )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:266:3: (this_WS_1= RULE_WS )*
+ loop12:
+ do {
+ int alt12=2;
+ int LA12_0 = input.LA(1);
+
+ if ( (LA12_0==RULE_WS) ) {
+ alt12=1;
+ }
+
+
+ switch (alt12) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:266:4: this_WS_1= RULE_WS
+ {
+ this_WS_1=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleImport613);
+
+ newLeafNode(this_WS_1, grammarAccess.getImportAccess().getWSTerminalRuleCall_1_0_0());
+
+
+ }
+ break;
+
+ default :
+ break loop12;
+ }
+ } while (true);
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:270:3: ( (lv_string_2_0= RULE_STRING ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:271:1: (lv_string_2_0= RULE_STRING )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:271:1: (lv_string_2_0= RULE_STRING )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:272:3: lv_string_2_0= RULE_STRING
+ {
+ lv_string_2_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleImport631);
+
+ newLeafNode(lv_string_2_0, grammarAccess.getImportAccess().getStringSTRINGTerminalRuleCall_1_0_1_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getImportRule());
+ }
+ setWithLastConsumed(
+ current,
+ "string",
+ lv_string_2_0,
+ "STRING");
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:289:6: (this_WS_3= RULE_WS ( (lv_uri_4_0= ruleUri ) ) )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:289:6: (this_WS_3= RULE_WS ( (lv_uri_4_0= ruleUri ) ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:289:7: this_WS_3= RULE_WS ( (lv_uri_4_0= ruleUri ) )
+ {
+ this_WS_3=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleImport655);
+
+ newLeafNode(this_WS_3, grammarAccess.getImportAccess().getWSTerminalRuleCall_1_1_0());
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:293:1: ( (lv_uri_4_0= ruleUri ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:294:1: (lv_uri_4_0= ruleUri )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:294:1: (lv_uri_4_0= ruleUri )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:295:3: lv_uri_4_0= ruleUri
+ {
+
+ newCompositeNode(grammarAccess.getImportAccess().getUriUriParserRuleCall_1_1_1_0());
+
+ pushFollow(FOLLOW_ruleUri_in_ruleImport675);
+ lv_uri_4_0=ruleUri();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getImportRule());
+ }
+ set(
+ current,
+ "uri",
+ lv_uri_4_0,
+ "Uri");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:311:4: (this_WS_5= RULE_WS )*
+ loop14:
+ do {
+ int alt14=2;
+ int LA14_0 = input.LA(1);
+
+ if ( (LA14_0==RULE_WS) ) {
+ alt14=1;
+ }
+
+
+ switch (alt14) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:311:5: this_WS_5= RULE_WS
+ {
+ this_WS_5=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleImport689);
+
+ newLeafNode(this_WS_5, grammarAccess.getImportAccess().getWSTerminalRuleCall_2());
+
+
+ }
+ break;
+
+ default :
+ break loop14;
+ }
+ } while (true);
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:315:3: ( ( (lv_media_6_0= RULE_ID ) ) (this_WS_7= RULE_WS )* (otherlv_8= ',' (this_WS_9= RULE_WS )* ( (lv_media_10_0= RULE_ID ) ) )* )?
+ int alt18=2;
+ int LA18_0 = input.LA(1);
+
+ if ( (LA18_0==RULE_ID) ) {
+ alt18=1;
+ }
+ switch (alt18) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:315:4: ( (lv_media_6_0= RULE_ID ) ) (this_WS_7= RULE_WS )* (otherlv_8= ',' (this_WS_9= RULE_WS )* ( (lv_media_10_0= RULE_ID ) ) )*
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:315:4: ( (lv_media_6_0= RULE_ID ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:316:1: (lv_media_6_0= RULE_ID )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:316:1: (lv_media_6_0= RULE_ID )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:317:3: lv_media_6_0= RULE_ID
+ {
+ lv_media_6_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleImport708);
+
+ newLeafNode(lv_media_6_0, grammarAccess.getImportAccess().getMediaIDTerminalRuleCall_3_0_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getImportRule());
+ }
+ addWithLastConsumed(
+ current,
+ "media",
+ lv_media_6_0,
+ "ID");
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:333:2: (this_WS_7= RULE_WS )*
+ loop15:
+ do {
+ int alt15=2;
+ int LA15_0 = input.LA(1);
+
+ if ( (LA15_0==RULE_WS) ) {
+ alt15=1;
+ }
+
+
+ switch (alt15) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:333:3: this_WS_7= RULE_WS
+ {
+ this_WS_7=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleImport725);
+
+ newLeafNode(this_WS_7, grammarAccess.getImportAccess().getWSTerminalRuleCall_3_1());
+
+
+ }
+ break;
+
+ default :
+ break loop15;
+ }
+ } while (true);
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:337:3: (otherlv_8= ',' (this_WS_9= RULE_WS )* ( (lv_media_10_0= RULE_ID ) ) )*
+ loop17:
+ do {
+ int alt17=2;
+ int LA17_0 = input.LA(1);
+
+ if ( (LA17_0==25) ) {
+ alt17=1;
+ }
+
+
+ switch (alt17) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:337:5: otherlv_8= ',' (this_WS_9= RULE_WS )* ( (lv_media_10_0= RULE_ID ) )
+ {
+ otherlv_8=(Token)match(input,25,FOLLOW_25_in_ruleImport739);
+
+ newLeafNode(otherlv_8, grammarAccess.getImportAccess().getCommaKeyword_3_2_0());
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:341:1: (this_WS_9= RULE_WS )*
+ loop16:
+ do {
+ int alt16=2;
+ int LA16_0 = input.LA(1);
+
+ if ( (LA16_0==RULE_WS) ) {
+ alt16=1;
+ }
+
+
+ switch (alt16) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:341:2: this_WS_9= RULE_WS
+ {
+ this_WS_9=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleImport751);
+
+ newLeafNode(this_WS_9, grammarAccess.getImportAccess().getWSTerminalRuleCall_3_2_1());
+
+
+ }
+ break;
+
+ default :
+ break loop16;
+ }
+ } while (true);
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:345:3: ( (lv_media_10_0= RULE_ID ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:346:1: (lv_media_10_0= RULE_ID )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:346:1: (lv_media_10_0= RULE_ID )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:347:3: lv_media_10_0= RULE_ID
+ {
+ lv_media_10_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleImport769);
+
+ newLeafNode(lv_media_10_0, grammarAccess.getImportAccess().getMediaIDTerminalRuleCall_3_2_2_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getImportRule());
+ }
+ addWithLastConsumed(
+ current,
+ "media",
+ lv_media_10_0,
+ "ID");
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop17;
+ }
+ } while (true);
+
+
+ }
+ break;
+
+ }
+
+ otherlv_11=(Token)match(input,23,FOLLOW_23_in_ruleImport790);
+
+ newLeafNode(otherlv_11, grammarAccess.getImportAccess().getSemicolonKeyword_4());
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:367:1: (this_WS_12= RULE_WS )*
+ loop19:
+ do {
+ int alt19=2;
+ int LA19_0 = input.LA(1);
+
+ if ( (LA19_0==RULE_WS) ) {
+ alt19=1;
+ }
+
+
+ switch (alt19) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:367:2: this_WS_12= RULE_WS
+ {
+ this_WS_12=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleImport802);
+
+ newLeafNode(this_WS_12, grammarAccess.getImportAccess().getWSTerminalRuleCall_5());
+
+
+ }
+ break;
+
+ default :
+ break loop19;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleImport"
+
+
+ // $ANTLR start "entryRuleMedia"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:379:1: entryRuleMedia returns [EObject current=null] : iv_ruleMedia= ruleMedia EOF ;
+ public final EObject entryRuleMedia() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleMedia = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:380:2: (iv_ruleMedia= ruleMedia EOF )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:381:2: iv_ruleMedia= ruleMedia EOF
+ {
+ newCompositeNode(grammarAccess.getMediaRule());
+ pushFollow(FOLLOW_ruleMedia_in_entryRuleMedia839);
+ iv_ruleMedia=ruleMedia();
+
+ state._fsp--;
+
+ current =iv_ruleMedia;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleMedia849);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleMedia"
+
+
+ // $ANTLR start "ruleMedia"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:388:1: ruleMedia returns [EObject current=null] : (otherlv_0= '@media' this_WS_1= RULE_WS ( (lv_media_2_0= RULE_ID ) ) (this_WS_3= RULE_WS )* (otherlv_4= ',' (this_WS_5= RULE_WS )* ( (lv_media_6_0= RULE_ID ) ) )* otherlv_7= '{' (this_WS_8= RULE_WS )* ( (lv_rules_9_0= ruleRuleset ) )* otherlv_10= '}' (this_WS_11= RULE_WS )* ) ;
+ public final EObject ruleMedia() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token this_WS_1=null;
+ Token lv_media_2_0=null;
+ Token this_WS_3=null;
+ Token otherlv_4=null;
+ Token this_WS_5=null;
+ Token lv_media_6_0=null;
+ Token otherlv_7=null;
+ Token this_WS_8=null;
+ Token otherlv_10=null;
+ Token this_WS_11=null;
+ EObject lv_rules_9_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:391:28: ( (otherlv_0= '@media' this_WS_1= RULE_WS ( (lv_media_2_0= RULE_ID ) ) (this_WS_3= RULE_WS )* (otherlv_4= ',' (this_WS_5= RULE_WS )* ( (lv_media_6_0= RULE_ID ) ) )* otherlv_7= '{' (this_WS_8= RULE_WS )* ( (lv_rules_9_0= ruleRuleset ) )* otherlv_10= '}' (this_WS_11= RULE_WS )* ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:392:1: (otherlv_0= '@media' this_WS_1= RULE_WS ( (lv_media_2_0= RULE_ID ) ) (this_WS_3= RULE_WS )* (otherlv_4= ',' (this_WS_5= RULE_WS )* ( (lv_media_6_0= RULE_ID ) ) )* otherlv_7= '{' (this_WS_8= RULE_WS )* ( (lv_rules_9_0= ruleRuleset ) )* otherlv_10= '}' (this_WS_11= RULE_WS )* )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:392:1: (otherlv_0= '@media' this_WS_1= RULE_WS ( (lv_media_2_0= RULE_ID ) ) (this_WS_3= RULE_WS )* (otherlv_4= ',' (this_WS_5= RULE_WS )* ( (lv_media_6_0= RULE_ID ) ) )* otherlv_7= '{' (this_WS_8= RULE_WS )* ( (lv_rules_9_0= ruleRuleset ) )* otherlv_10= '}' (this_WS_11= RULE_WS )* )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:392:3: otherlv_0= '@media' this_WS_1= RULE_WS ( (lv_media_2_0= RULE_ID ) ) (this_WS_3= RULE_WS )* (otherlv_4= ',' (this_WS_5= RULE_WS )* ( (lv_media_6_0= RULE_ID ) ) )* otherlv_7= '{' (this_WS_8= RULE_WS )* ( (lv_rules_9_0= ruleRuleset ) )* otherlv_10= '}' (this_WS_11= RULE_WS )*
+ {
+ otherlv_0=(Token)match(input,26,FOLLOW_26_in_ruleMedia886);
+
+ newLeafNode(otherlv_0, grammarAccess.getMediaAccess().getMediaKeyword_0());
+
+ this_WS_1=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleMedia897);
+
+ newLeafNode(this_WS_1, grammarAccess.getMediaAccess().getWSTerminalRuleCall_1());
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:400:1: ( (lv_media_2_0= RULE_ID ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:401:1: (lv_media_2_0= RULE_ID )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:401:1: (lv_media_2_0= RULE_ID )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:402:3: lv_media_2_0= RULE_ID
+ {
+ lv_media_2_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleMedia913);
+
+ newLeafNode(lv_media_2_0, grammarAccess.getMediaAccess().getMediaIDTerminalRuleCall_2_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getMediaRule());
+ }
+ addWithLastConsumed(
+ current,
+ "media",
+ lv_media_2_0,
+ "ID");
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:418:2: (this_WS_3= RULE_WS )*
+ loop20:
+ do {
+ int alt20=2;
+ int LA20_0 = input.LA(1);
+
+ if ( (LA20_0==RULE_WS) ) {
+ alt20=1;
+ }
+
+
+ switch (alt20) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:418:3: this_WS_3= RULE_WS
+ {
+ this_WS_3=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleMedia930);
+
+ newLeafNode(this_WS_3, grammarAccess.getMediaAccess().getWSTerminalRuleCall_3());
+
+
+ }
+ break;
+
+ default :
+ break loop20;
+ }
+ } while (true);
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:422:3: (otherlv_4= ',' (this_WS_5= RULE_WS )* ( (lv_media_6_0= RULE_ID ) ) )*
+ loop22:
+ do {
+ int alt22=2;
+ int LA22_0 = input.LA(1);
+
+ if ( (LA22_0==25) ) {
+ alt22=1;
+ }
+
+
+ switch (alt22) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:422:5: otherlv_4= ',' (this_WS_5= RULE_WS )* ( (lv_media_6_0= RULE_ID ) )
+ {
+ otherlv_4=(Token)match(input,25,FOLLOW_25_in_ruleMedia944);
+
+ newLeafNode(otherlv_4, grammarAccess.getMediaAccess().getCommaKeyword_4_0());
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:426:1: (this_WS_5= RULE_WS )*
+ loop21:
+ do {
+ int alt21=2;
+ int LA21_0 = input.LA(1);
+
+ if ( (LA21_0==RULE_WS) ) {
+ alt21=1;
+ }
+
+
+ switch (alt21) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:426:2: this_WS_5= RULE_WS
+ {
+ this_WS_5=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleMedia956);
+
+ newLeafNode(this_WS_5, grammarAccess.getMediaAccess().getWSTerminalRuleCall_4_1());
+
+
+ }
+ break;
+
+ default :
+ break loop21;
+ }
+ } while (true);
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:430:3: ( (lv_media_6_0= RULE_ID ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:431:1: (lv_media_6_0= RULE_ID )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:431:1: (lv_media_6_0= RULE_ID )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:432:3: lv_media_6_0= RULE_ID
+ {
+ lv_media_6_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleMedia974);
+
+ newLeafNode(lv_media_6_0, grammarAccess.getMediaAccess().getMediaIDTerminalRuleCall_4_2_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getMediaRule());
+ }
+ addWithLastConsumed(
+ current,
+ "media",
+ lv_media_6_0,
+ "ID");
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop22;
+ }
+ } while (true);
+
+ otherlv_7=(Token)match(input,27,FOLLOW_27_in_ruleMedia993);
+
+ newLeafNode(otherlv_7, grammarAccess.getMediaAccess().getLeftCurlyBracketKeyword_5());
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:452:1: (this_WS_8= RULE_WS )*
+ loop23:
+ do {
+ int alt23=2;
+ int LA23_0 = input.LA(1);
+
+ if ( (LA23_0==RULE_WS) ) {
+ alt23=1;
+ }
+
+
+ switch (alt23) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:452:2: this_WS_8= RULE_WS
+ {
+ this_WS_8=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleMedia1005);
+
+ newLeafNode(this_WS_8, grammarAccess.getMediaAccess().getWSTerminalRuleCall_6());
+
+
+ }
+ break;
+
+ default :
+ break loop23;
+ }
+ } while (true);
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:456:3: ( (lv_rules_9_0= ruleRuleset ) )*
+ loop24:
+ do {
+ int alt24=2;
+ int LA24_0 = input.LA(1);
+
+ if ( (LA24_0==RULE_ID||(LA24_0>=RULE_HASH && LA24_0<=RULE_T_CLASS)||(LA24_0>=30 && LA24_0<=31)||LA24_0==36) ) {
+ alt24=1;
+ }
+
+
+ switch (alt24) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:457:1: (lv_rules_9_0= ruleRuleset )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:457:1: (lv_rules_9_0= ruleRuleset )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:458:3: lv_rules_9_0= ruleRuleset
+ {
+
+ newCompositeNode(grammarAccess.getMediaAccess().getRulesRulesetParserRuleCall_7_0());
+
+ pushFollow(FOLLOW_ruleRuleset_in_ruleMedia1027);
+ lv_rules_9_0=ruleRuleset();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getMediaRule());
+ }
+ add(
+ current,
+ "rules",
+ lv_rules_9_0,
+ "Ruleset");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop24;
+ }
+ } while (true);
+
+ otherlv_10=(Token)match(input,28,FOLLOW_28_in_ruleMedia1040);
+
+ newLeafNode(otherlv_10, grammarAccess.getMediaAccess().getRightCurlyBracketKeyword_8());
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:478:1: (this_WS_11= RULE_WS )*
+ loop25:
+ do {
+ int alt25=2;
+ int LA25_0 = input.LA(1);
+
+ if ( (LA25_0==RULE_WS) ) {
+ alt25=1;
+ }
+
+
+ switch (alt25) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:478:2: this_WS_11= RULE_WS
+ {
+ this_WS_11=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleMedia1052);
+
+ newLeafNode(this_WS_11, grammarAccess.getMediaAccess().getWSTerminalRuleCall_9());
+
+
+ }
+ break;
+
+ default :
+ break loop25;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleMedia"
+
+
+ // $ANTLR start "entryRulePage"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:490:1: entryRulePage returns [EObject current=null] : iv_rulePage= rulePage EOF ;
+ public final EObject entryRulePage() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_rulePage = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:491:2: (iv_rulePage= rulePage EOF )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:492:2: iv_rulePage= rulePage EOF
+ {
+ newCompositeNode(grammarAccess.getPageRule());
+ pushFollow(FOLLOW_rulePage_in_entryRulePage1089);
+ iv_rulePage=rulePage();
+
+ state._fsp--;
+
+ current =iv_rulePage;
+ match(input,EOF,FOLLOW_EOF_in_entryRulePage1099);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRulePage"
+
+
+ // $ANTLR start "rulePage"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:499:1: rulePage returns [EObject current=null] : ( () otherlv_1= '@page' (this_WS_2= RULE_WS )* ( (lv_pseudo_3_0= rulePseudoPage ) )? otherlv_4= '{' (this_WS_5= RULE_WS )* ( (lv_declarations_6_0= ruleDeclaration ) )? (otherlv_7= ';' (this_WS_8= RULE_WS )* ( (lv_declarations_9_0= ruleDeclaration ) )? )* otherlv_10= '}' (this_WS_11= RULE_WS )* ) ;
+ public final EObject rulePage() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ Token this_WS_2=null;
+ Token otherlv_4=null;
+ Token this_WS_5=null;
+ Token otherlv_7=null;
+ Token this_WS_8=null;
+ Token otherlv_10=null;
+ Token this_WS_11=null;
+ EObject lv_pseudo_3_0 = null;
+
+ EObject lv_declarations_6_0 = null;
+
+ EObject lv_declarations_9_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:502:28: ( ( () otherlv_1= '@page' (this_WS_2= RULE_WS )* ( (lv_pseudo_3_0= rulePseudoPage ) )? otherlv_4= '{' (this_WS_5= RULE_WS )* ( (lv_declarations_6_0= ruleDeclaration ) )? (otherlv_7= ';' (this_WS_8= RULE_WS )* ( (lv_declarations_9_0= ruleDeclaration ) )? )* otherlv_10= '}' (this_WS_11= RULE_WS )* ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:503:1: ( () otherlv_1= '@page' (this_WS_2= RULE_WS )* ( (lv_pseudo_3_0= rulePseudoPage ) )? otherlv_4= '{' (this_WS_5= RULE_WS )* ( (lv_declarations_6_0= ruleDeclaration ) )? (otherlv_7= ';' (this_WS_8= RULE_WS )* ( (lv_declarations_9_0= ruleDeclaration ) )? )* otherlv_10= '}' (this_WS_11= RULE_WS )* )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:503:1: ( () otherlv_1= '@page' (this_WS_2= RULE_WS )* ( (lv_pseudo_3_0= rulePseudoPage ) )? otherlv_4= '{' (this_WS_5= RULE_WS )* ( (lv_declarations_6_0= ruleDeclaration ) )? (otherlv_7= ';' (this_WS_8= RULE_WS )* ( (lv_declarations_9_0= ruleDeclaration ) )? )* otherlv_10= '}' (this_WS_11= RULE_WS )* )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:503:2: () otherlv_1= '@page' (this_WS_2= RULE_WS )* ( (lv_pseudo_3_0= rulePseudoPage ) )? otherlv_4= '{' (this_WS_5= RULE_WS )* ( (lv_declarations_6_0= ruleDeclaration ) )? (otherlv_7= ';' (this_WS_8= RULE_WS )* ( (lv_declarations_9_0= ruleDeclaration ) )? )* otherlv_10= '}' (this_WS_11= RULE_WS )*
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:503:2: ()
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:504:5:
+ {
+
+ current = forceCreateModelElement(
+ grammarAccess.getPageAccess().getPageAction_0(),
+ current);
+
+
+ }
+
+ otherlv_1=(Token)match(input,29,FOLLOW_29_in_rulePage1145);
+
+ newLeafNode(otherlv_1, grammarAccess.getPageAccess().getPageKeyword_1());
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:513:1: (this_WS_2= RULE_WS )*
+ loop26:
+ do {
+ int alt26=2;
+ int LA26_0 = input.LA(1);
+
+ if ( (LA26_0==RULE_WS) ) {
+ alt26=1;
+ }
+
+
+ switch (alt26) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:513:2: this_WS_2= RULE_WS
+ {
+ this_WS_2=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_rulePage1157);
+
+ newLeafNode(this_WS_2, grammarAccess.getPageAccess().getWSTerminalRuleCall_2());
+
+
+ }
+ break;
+
+ default :
+ break loop26;
+ }
+ } while (true);
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:517:3: ( (lv_pseudo_3_0= rulePseudoPage ) )?
+ int alt27=2;
+ int LA27_0 = input.LA(1);
+
+ if ( (LA27_0==30) ) {
+ alt27=1;
+ }
+ switch (alt27) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:518:1: (lv_pseudo_3_0= rulePseudoPage )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:518:1: (lv_pseudo_3_0= rulePseudoPage )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:519:3: lv_pseudo_3_0= rulePseudoPage
+ {
+
+ newCompositeNode(grammarAccess.getPageAccess().getPseudoPseudoPageParserRuleCall_3_0());
+
+ pushFollow(FOLLOW_rulePseudoPage_in_rulePage1179);
+ lv_pseudo_3_0=rulePseudoPage();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getPageRule());
+ }
+ set(
+ current,
+ "pseudo",
+ lv_pseudo_3_0,
+ "PseudoPage");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ otherlv_4=(Token)match(input,27,FOLLOW_27_in_rulePage1192);
+
+ newLeafNode(otherlv_4, grammarAccess.getPageAccess().getLeftCurlyBracketKeyword_4());
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:539:1: (this_WS_5= RULE_WS )*
+ loop28:
+ do {
+ int alt28=2;
+ int LA28_0 = input.LA(1);
+
+ if ( (LA28_0==RULE_WS) ) {
+ alt28=1;
+ }
+
+
+ switch (alt28) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:539:2: this_WS_5= RULE_WS
+ {
+ this_WS_5=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_rulePage1204);
+
+ newLeafNode(this_WS_5, grammarAccess.getPageAccess().getWSTerminalRuleCall_5());
+
+
+ }
+ break;
+
+ default :
+ break loop28;
+ }
+ } while (true);
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:543:3: ( (lv_declarations_6_0= ruleDeclaration ) )?
+ int alt29=2;
+ int LA29_0 = input.LA(1);
+
+ if ( (LA29_0==RULE_ID) ) {
+ alt29=1;
+ }
+ switch (alt29) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:544:1: (lv_declarations_6_0= ruleDeclaration )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:544:1: (lv_declarations_6_0= ruleDeclaration )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:545:3: lv_declarations_6_0= ruleDeclaration
+ {
+
+ newCompositeNode(grammarAccess.getPageAccess().getDeclarationsDeclarationParserRuleCall_6_0());
+
+ pushFollow(FOLLOW_ruleDeclaration_in_rulePage1226);
+ lv_declarations_6_0=ruleDeclaration();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getPageRule());
+ }
+ add(
+ current,
+ "declarations",
+ lv_declarations_6_0,
+ "Declaration");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:561:3: (otherlv_7= ';' (this_WS_8= RULE_WS )* ( (lv_declarations_9_0= ruleDeclaration ) )? )*
+ loop32:
+ do {
+ int alt32=2;
+ int LA32_0 = input.LA(1);
+
+ if ( (LA32_0==23) ) {
+ alt32=1;
+ }
+
+
+ switch (alt32) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:561:5: otherlv_7= ';' (this_WS_8= RULE_WS )* ( (lv_declarations_9_0= ruleDeclaration ) )?
+ {
+ otherlv_7=(Token)match(input,23,FOLLOW_23_in_rulePage1240);
+
+ newLeafNode(otherlv_7, grammarAccess.getPageAccess().getSemicolonKeyword_7_0());
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:565:1: (this_WS_8= RULE_WS )*
+ loop30:
+ do {
+ int alt30=2;
+ int LA30_0 = input.LA(1);
+
+ if ( (LA30_0==RULE_WS) ) {
+ alt30=1;
+ }
+
+
+ switch (alt30) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:565:2: this_WS_8= RULE_WS
+ {
+ this_WS_8=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_rulePage1252);
+
+ newLeafNode(this_WS_8, grammarAccess.getPageAccess().getWSTerminalRuleCall_7_1());
+
+
+ }
+ break;
+
+ default :
+ break loop30;
+ }
+ } while (true);
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:569:3: ( (lv_declarations_9_0= ruleDeclaration ) )?
+ int alt31=2;
+ int LA31_0 = input.LA(1);
+
+ if ( (LA31_0==RULE_ID) ) {
+ alt31=1;
+ }
+ switch (alt31) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:570:1: (lv_declarations_9_0= ruleDeclaration )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:570:1: (lv_declarations_9_0= ruleDeclaration )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:571:3: lv_declarations_9_0= ruleDeclaration
+ {
+
+ newCompositeNode(grammarAccess.getPageAccess().getDeclarationsDeclarationParserRuleCall_7_2_0());
+
+ pushFollow(FOLLOW_ruleDeclaration_in_rulePage1274);
+ lv_declarations_9_0=ruleDeclaration();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getPageRule());
+ }
+ add(
+ current,
+ "declarations",
+ lv_declarations_9_0,
+ "Declaration");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop32;
+ }
+ } while (true);
+
+ otherlv_10=(Token)match(input,28,FOLLOW_28_in_rulePage1289);
+
+ newLeafNode(otherlv_10, grammarAccess.getPageAccess().getRightCurlyBracketKeyword_8());
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:591:1: (this_WS_11= RULE_WS )*
+ loop33:
+ do {
+ int alt33=2;
+ int LA33_0 = input.LA(1);
+
+ if ( (LA33_0==RULE_WS) ) {
+ alt33=1;
+ }
+
+
+ switch (alt33) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:591:2: this_WS_11= RULE_WS
+ {
+ this_WS_11=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_rulePage1301);
+
+ newLeafNode(this_WS_11, grammarAccess.getPageAccess().getWSTerminalRuleCall_9());
+
+
+ }
+ break;
+
+ default :
+ break loop33;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "rulePage"
+
+
+ // $ANTLR start "entryRulePseudoPage"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:603:1: entryRulePseudoPage returns [EObject current=null] : iv_rulePseudoPage= rulePseudoPage EOF ;
+ public final EObject entryRulePseudoPage() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_rulePseudoPage = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:604:2: (iv_rulePseudoPage= rulePseudoPage EOF )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:605:2: iv_rulePseudoPage= rulePseudoPage EOF
+ {
+ newCompositeNode(grammarAccess.getPseudoPageRule());
+ pushFollow(FOLLOW_rulePseudoPage_in_entryRulePseudoPage1338);
+ iv_rulePseudoPage=rulePseudoPage();
+
+ state._fsp--;
+
+ current =iv_rulePseudoPage;
+ match(input,EOF,FOLLOW_EOF_in_entryRulePseudoPage1348);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRulePseudoPage"
+
+
+ // $ANTLR start "rulePseudoPage"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:612:1: rulePseudoPage returns [EObject current=null] : (otherlv_0= ':' ( (lv_id_1_0= RULE_ID ) ) (this_WS_2= RULE_WS )* ) ;
+ public final EObject rulePseudoPage() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token lv_id_1_0=null;
+ Token this_WS_2=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:615:28: ( (otherlv_0= ':' ( (lv_id_1_0= RULE_ID ) ) (this_WS_2= RULE_WS )* ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:616:1: (otherlv_0= ':' ( (lv_id_1_0= RULE_ID ) ) (this_WS_2= RULE_WS )* )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:616:1: (otherlv_0= ':' ( (lv_id_1_0= RULE_ID ) ) (this_WS_2= RULE_WS )* )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:616:3: otherlv_0= ':' ( (lv_id_1_0= RULE_ID ) ) (this_WS_2= RULE_WS )*
+ {
+ otherlv_0=(Token)match(input,30,FOLLOW_30_in_rulePseudoPage1385);
+
+ newLeafNode(otherlv_0, grammarAccess.getPseudoPageAccess().getColonKeyword_0());
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:620:1: ( (lv_id_1_0= RULE_ID ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:621:1: (lv_id_1_0= RULE_ID )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:621:1: (lv_id_1_0= RULE_ID )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:622:3: lv_id_1_0= RULE_ID
+ {
+ lv_id_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_rulePseudoPage1402);
+
+ newLeafNode(lv_id_1_0, grammarAccess.getPseudoPageAccess().getIdIDTerminalRuleCall_1_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getPseudoPageRule());
+ }
+ setWithLastConsumed(
+ current,
+ "id",
+ lv_id_1_0,
+ "ID");
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:638:2: (this_WS_2= RULE_WS )*
+ loop34:
+ do {
+ int alt34=2;
+ int LA34_0 = input.LA(1);
+
+ if ( (LA34_0==RULE_WS) ) {
+ alt34=1;
+ }
+
+
+ switch (alt34) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:638:3: this_WS_2= RULE_WS
+ {
+ this_WS_2=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_rulePseudoPage1419);
+
+ newLeafNode(this_WS_2, grammarAccess.getPseudoPageAccess().getWSTerminalRuleCall_2());
+
+
+ }
+ break;
+
+ default :
+ break loop34;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "rulePseudoPage"
+
+
+ // $ANTLR start "entryRuleRuleset"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:650:1: entryRuleRuleset returns [EObject current=null] : iv_ruleRuleset= ruleRuleset EOF ;
+ public final EObject entryRuleRuleset() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleRuleset = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:651:2: (iv_ruleRuleset= ruleRuleset EOF )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:652:2: iv_ruleRuleset= ruleRuleset EOF
+ {
+ newCompositeNode(grammarAccess.getRulesetRule());
+ pushFollow(FOLLOW_ruleRuleset_in_entryRuleRuleset1456);
+ iv_ruleRuleset=ruleRuleset();
+
+ state._fsp--;
+
+ current =iv_ruleRuleset;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleRuleset1466);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleRuleset"
+
+
+ // $ANTLR start "ruleRuleset"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:659:1: ruleRuleset returns [EObject current=null] : ( ( (lv_selectors_0_0= ruleSelector ) ) (otherlv_1= ',' (this_WS_2= RULE_WS )* ( (lv_selectors_3_0= ruleSelector ) ) )* otherlv_4= '{' (this_WS_5= RULE_WS )* ( (lv_properties_6_0= ruleDeclaration ) )? (otherlv_7= ';' (this_WS_8= RULE_WS )* ( (lv_properties_9_0= ruleDeclaration ) )? )* otherlv_10= '}' (this_WS_11= RULE_WS )* ) ;
+ public final EObject ruleRuleset() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_1=null;
+ Token this_WS_2=null;
+ Token otherlv_4=null;
+ Token this_WS_5=null;
+ Token otherlv_7=null;
+ Token this_WS_8=null;
+ Token otherlv_10=null;
+ Token this_WS_11=null;
+ EObject lv_selectors_0_0 = null;
+
+ EObject lv_selectors_3_0 = null;
+
+ EObject lv_properties_6_0 = null;
+
+ EObject lv_properties_9_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:662:28: ( ( ( (lv_selectors_0_0= ruleSelector ) ) (otherlv_1= ',' (this_WS_2= RULE_WS )* ( (lv_selectors_3_0= ruleSelector ) ) )* otherlv_4= '{' (this_WS_5= RULE_WS )* ( (lv_properties_6_0= ruleDeclaration ) )? (otherlv_7= ';' (this_WS_8= RULE_WS )* ( (lv_properties_9_0= ruleDeclaration ) )? )* otherlv_10= '}' (this_WS_11= RULE_WS )* ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:663:1: ( ( (lv_selectors_0_0= ruleSelector ) ) (otherlv_1= ',' (this_WS_2= RULE_WS )* ( (lv_selectors_3_0= ruleSelector ) ) )* otherlv_4= '{' (this_WS_5= RULE_WS )* ( (lv_properties_6_0= ruleDeclaration ) )? (otherlv_7= ';' (this_WS_8= RULE_WS )* ( (lv_properties_9_0= ruleDeclaration ) )? )* otherlv_10= '}' (this_WS_11= RULE_WS )* )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:663:1: ( ( (lv_selectors_0_0= ruleSelector ) ) (otherlv_1= ',' (this_WS_2= RULE_WS )* ( (lv_selectors_3_0= ruleSelector ) ) )* otherlv_4= '{' (this_WS_5= RULE_WS )* ( (lv_properties_6_0= ruleDeclaration ) )? (otherlv_7= ';' (this_WS_8= RULE_WS )* ( (lv_properties_9_0= ruleDeclaration ) )? )* otherlv_10= '}' (this_WS_11= RULE_WS )* )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:663:2: ( (lv_selectors_0_0= ruleSelector ) ) (otherlv_1= ',' (this_WS_2= RULE_WS )* ( (lv_selectors_3_0= ruleSelector ) ) )* otherlv_4= '{' (this_WS_5= RULE_WS )* ( (lv_properties_6_0= ruleDeclaration ) )? (otherlv_7= ';' (this_WS_8= RULE_WS )* ( (lv_properties_9_0= ruleDeclaration ) )? )* otherlv_10= '}' (this_WS_11= RULE_WS )*
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:663:2: ( (lv_selectors_0_0= ruleSelector ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:664:1: (lv_selectors_0_0= ruleSelector )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:664:1: (lv_selectors_0_0= ruleSelector )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:665:3: lv_selectors_0_0= ruleSelector
+ {
+
+ newCompositeNode(grammarAccess.getRulesetAccess().getSelectorsSelectorParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleSelector_in_ruleRuleset1512);
+ lv_selectors_0_0=ruleSelector();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getRulesetRule());
+ }
+ add(
+ current,
+ "selectors",
+ lv_selectors_0_0,
+ "Selector");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:681:2: (otherlv_1= ',' (this_WS_2= RULE_WS )* ( (lv_selectors_3_0= ruleSelector ) ) )*
+ loop36:
+ do {
+ int alt36=2;
+ int LA36_0 = input.LA(1);
+
+ if ( (LA36_0==25) ) {
+ alt36=1;
+ }
+
+
+ switch (alt36) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:681:4: otherlv_1= ',' (this_WS_2= RULE_WS )* ( (lv_selectors_3_0= ruleSelector ) )
+ {
+ otherlv_1=(Token)match(input,25,FOLLOW_25_in_ruleRuleset1525);
+
+ newLeafNode(otherlv_1, grammarAccess.getRulesetAccess().getCommaKeyword_1_0());
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:685:1: (this_WS_2= RULE_WS )*
+ loop35:
+ do {
+ int alt35=2;
+ int LA35_0 = input.LA(1);
+
+ if ( (LA35_0==RULE_WS) ) {
+ alt35=1;
+ }
+
+
+ switch (alt35) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:685:2: this_WS_2= RULE_WS
+ {
+ this_WS_2=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleRuleset1537);
+
+ newLeafNode(this_WS_2, grammarAccess.getRulesetAccess().getWSTerminalRuleCall_1_1());
+
+
+ }
+ break;
+
+ default :
+ break loop35;
+ }
+ } while (true);
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:689:3: ( (lv_selectors_3_0= ruleSelector ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:690:1: (lv_selectors_3_0= ruleSelector )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:690:1: (lv_selectors_3_0= ruleSelector )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:691:3: lv_selectors_3_0= ruleSelector
+ {
+
+ newCompositeNode(grammarAccess.getRulesetAccess().getSelectorsSelectorParserRuleCall_1_2_0());
+
+ pushFollow(FOLLOW_ruleSelector_in_ruleRuleset1559);
+ lv_selectors_3_0=ruleSelector();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getRulesetRule());
+ }
+ add(
+ current,
+ "selectors",
+ lv_selectors_3_0,
+ "Selector");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop36;
+ }
+ } while (true);
+
+ otherlv_4=(Token)match(input,27,FOLLOW_27_in_ruleRuleset1573);
+
+ newLeafNode(otherlv_4, grammarAccess.getRulesetAccess().getLeftCurlyBracketKeyword_2());
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:711:1: (this_WS_5= RULE_WS )*
+ loop37:
+ do {
+ int alt37=2;
+ int LA37_0 = input.LA(1);
+
+ if ( (LA37_0==RULE_WS) ) {
+ alt37=1;
+ }
+
+
+ switch (alt37) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:711:2: this_WS_5= RULE_WS
+ {
+ this_WS_5=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleRuleset1585);
+
+ newLeafNode(this_WS_5, grammarAccess.getRulesetAccess().getWSTerminalRuleCall_3());
+
+
+ }
+ break;
+
+ default :
+ break loop37;
+ }
+ } while (true);
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:715:3: ( (lv_properties_6_0= ruleDeclaration ) )?
+ int alt38=2;
+ int LA38_0 = input.LA(1);
+
+ if ( (LA38_0==RULE_ID) ) {
+ alt38=1;
+ }
+ switch (alt38) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:716:1: (lv_properties_6_0= ruleDeclaration )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:716:1: (lv_properties_6_0= ruleDeclaration )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:717:3: lv_properties_6_0= ruleDeclaration
+ {
+
+ newCompositeNode(grammarAccess.getRulesetAccess().getPropertiesDeclarationParserRuleCall_4_0());
+
+ pushFollow(FOLLOW_ruleDeclaration_in_ruleRuleset1607);
+ lv_properties_6_0=ruleDeclaration();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getRulesetRule());
+ }
+ add(
+ current,
+ "properties",
+ lv_properties_6_0,
+ "Declaration");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:733:3: (otherlv_7= ';' (this_WS_8= RULE_WS )* ( (lv_properties_9_0= ruleDeclaration ) )? )*
+ loop41:
+ do {
+ int alt41=2;
+ int LA41_0 = input.LA(1);
+
+ if ( (LA41_0==23) ) {
+ alt41=1;
+ }
+
+
+ switch (alt41) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:733:5: otherlv_7= ';' (this_WS_8= RULE_WS )* ( (lv_properties_9_0= ruleDeclaration ) )?
+ {
+ otherlv_7=(Token)match(input,23,FOLLOW_23_in_ruleRuleset1621);
+
+ newLeafNode(otherlv_7, grammarAccess.getRulesetAccess().getSemicolonKeyword_5_0());
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:737:1: (this_WS_8= RULE_WS )*
+ loop39:
+ do {
+ int alt39=2;
+ int LA39_0 = input.LA(1);
+
+ if ( (LA39_0==RULE_WS) ) {
+ alt39=1;
+ }
+
+
+ switch (alt39) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:737:2: this_WS_8= RULE_WS
+ {
+ this_WS_8=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleRuleset1633);
+
+ newLeafNode(this_WS_8, grammarAccess.getRulesetAccess().getWSTerminalRuleCall_5_1());
+
+
+ }
+ break;
+
+ default :
+ break loop39;
+ }
+ } while (true);
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:741:3: ( (lv_properties_9_0= ruleDeclaration ) )?
+ int alt40=2;
+ int LA40_0 = input.LA(1);
+
+ if ( (LA40_0==RULE_ID) ) {
+ alt40=1;
+ }
+ switch (alt40) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:742:1: (lv_properties_9_0= ruleDeclaration )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:742:1: (lv_properties_9_0= ruleDeclaration )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:743:3: lv_properties_9_0= ruleDeclaration
+ {
+
+ newCompositeNode(grammarAccess.getRulesetAccess().getPropertiesDeclarationParserRuleCall_5_2_0());
+
+ pushFollow(FOLLOW_ruleDeclaration_in_ruleRuleset1655);
+ lv_properties_9_0=ruleDeclaration();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getRulesetRule());
+ }
+ add(
+ current,
+ "properties",
+ lv_properties_9_0,
+ "Declaration");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop41;
+ }
+ } while (true);
+
+ otherlv_10=(Token)match(input,28,FOLLOW_28_in_ruleRuleset1670);
+
+ newLeafNode(otherlv_10, grammarAccess.getRulesetAccess().getRightCurlyBracketKeyword_6());
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:763:1: (this_WS_11= RULE_WS )*
+ loop42:
+ do {
+ int alt42=2;
+ int LA42_0 = input.LA(1);
+
+ if ( (LA42_0==RULE_WS) ) {
+ alt42=1;
+ }
+
+
+ switch (alt42) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:763:2: this_WS_11= RULE_WS
+ {
+ this_WS_11=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleRuleset1682);
+
+ newLeafNode(this_WS_11, grammarAccess.getRulesetAccess().getWSTerminalRuleCall_7());
+
+
+ }
+ break;
+
+ default :
+ break loop42;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleRuleset"
+
+
+ // $ANTLR start "entryRuleSelector"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:775:1: entryRuleSelector returns [EObject current=null] : iv_ruleSelector= ruleSelector EOF ;
+ public final EObject entryRuleSelector() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleSelector = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:776:2: (iv_ruleSelector= ruleSelector EOF )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:777:2: iv_ruleSelector= ruleSelector EOF
+ {
+ newCompositeNode(grammarAccess.getSelectorRule());
+ pushFollow(FOLLOW_ruleSelector_in_entryRuleSelector1719);
+ iv_ruleSelector=ruleSelector();
+
+ state._fsp--;
+
+ current =iv_ruleSelector;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleSelector1729);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleSelector"
+
+
+ // $ANTLR start "ruleSelector"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:784:1: ruleSelector returns [EObject current=null] : ( (this_SimpleSelector_0= ruleSimpleSelector (this_WS_1= RULE_WS )* ) | this_CompositeSelector_2= ruleCompositeSelector ) ;
+ public final EObject ruleSelector() throws RecognitionException {
+ EObject current = null;
+
+ Token this_WS_1=null;
+ EObject this_SimpleSelector_0 = null;
+
+ EObject this_CompositeSelector_2 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:787:28: ( ( (this_SimpleSelector_0= ruleSimpleSelector (this_WS_1= RULE_WS )* ) | this_CompositeSelector_2= ruleCompositeSelector ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:788:1: ( (this_SimpleSelector_0= ruleSimpleSelector (this_WS_1= RULE_WS )* ) | this_CompositeSelector_2= ruleCompositeSelector )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:788:1: ( (this_SimpleSelector_0= ruleSimpleSelector (this_WS_1= RULE_WS )* ) | this_CompositeSelector_2= ruleCompositeSelector )
+ int alt44=2;
+ alt44 = dfa44.predict(input);
+ switch (alt44) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:788:2: (this_SimpleSelector_0= ruleSimpleSelector (this_WS_1= RULE_WS )* )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:788:2: (this_SimpleSelector_0= ruleSimpleSelector (this_WS_1= RULE_WS )* )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:789:5: this_SimpleSelector_0= ruleSimpleSelector (this_WS_1= RULE_WS )*
+ {
+
+ newCompositeNode(grammarAccess.getSelectorAccess().getSimpleSelectorParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleSimpleSelector_in_ruleSelector1777);
+ this_SimpleSelector_0=ruleSimpleSelector();
+
+ state._fsp--;
+
+
+ current = this_SimpleSelector_0;
+ afterParserOrEnumRuleCall();
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:797:1: (this_WS_1= RULE_WS )*
+ loop43:
+ do {
+ int alt43=2;
+ int LA43_0 = input.LA(1);
+
+ if ( (LA43_0==RULE_WS) ) {
+ alt43=1;
+ }
+
+
+ switch (alt43) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:797:2: this_WS_1= RULE_WS
+ {
+ this_WS_1=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleSelector1788);
+
+ newLeafNode(this_WS_1, grammarAccess.getSelectorAccess().getWSTerminalRuleCall_0_1());
+
+
+ }
+ break;
+
+ default :
+ break loop43;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:803:5: this_CompositeSelector_2= ruleCompositeSelector
+ {
+
+ newCompositeNode(grammarAccess.getSelectorAccess().getCompositeSelectorParserRuleCall_1());
+
+ pushFollow(FOLLOW_ruleCompositeSelector_in_ruleSelector1818);
+ this_CompositeSelector_2=ruleCompositeSelector();
+
+ state._fsp--;
+
+
+ current = this_CompositeSelector_2;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleSelector"
+
+
+ // $ANTLR start "entryRuleCompositeSelector"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:819:1: entryRuleCompositeSelector returns [EObject current=null] : iv_ruleCompositeSelector= ruleCompositeSelector EOF ;
+ public final EObject entryRuleCompositeSelector() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleCompositeSelector = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:820:2: (iv_ruleCompositeSelector= ruleCompositeSelector EOF )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:821:2: iv_ruleCompositeSelector= ruleCompositeSelector EOF
+ {
+ newCompositeNode(grammarAccess.getCompositeSelectorRule());
+ pushFollow(FOLLOW_ruleCompositeSelector_in_entryRuleCompositeSelector1853);
+ iv_ruleCompositeSelector=ruleCompositeSelector();
+
+ state._fsp--;
+
+ current =iv_ruleCompositeSelector;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleCompositeSelector1863);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleCompositeSelector"
+
+
+ // $ANTLR start "ruleCompositeSelector"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:828:1: ruleCompositeSelector returns [EObject current=null] : ( ( (lv_left_0_0= ruleSimpleSelector ) ) ( (this_WS_1= RULE_WS )+ | ( (this_WS_2= RULE_WS )* ( (lv_combinator_3_0= ruleCombinator ) ) ) ) ( (lv_right_4_0= ruleSelector ) ) ) ;
+ public final EObject ruleCompositeSelector() throws RecognitionException {
+ EObject current = null;
+
+ Token this_WS_1=null;
+ Token this_WS_2=null;
+ EObject lv_left_0_0 = null;
+
+ EObject lv_combinator_3_0 = null;
+
+ EObject lv_right_4_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:831:28: ( ( ( (lv_left_0_0= ruleSimpleSelector ) ) ( (this_WS_1= RULE_WS )+ | ( (this_WS_2= RULE_WS )* ( (lv_combinator_3_0= ruleCombinator ) ) ) ) ( (lv_right_4_0= ruleSelector ) ) ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:832:1: ( ( (lv_left_0_0= ruleSimpleSelector ) ) ( (this_WS_1= RULE_WS )+ | ( (this_WS_2= RULE_WS )* ( (lv_combinator_3_0= ruleCombinator ) ) ) ) ( (lv_right_4_0= ruleSelector ) ) )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:832:1: ( ( (lv_left_0_0= ruleSimpleSelector ) ) ( (this_WS_1= RULE_WS )+ | ( (this_WS_2= RULE_WS )* ( (lv_combinator_3_0= ruleCombinator ) ) ) ) ( (lv_right_4_0= ruleSelector ) ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:832:2: ( (lv_left_0_0= ruleSimpleSelector ) ) ( (this_WS_1= RULE_WS )+ | ( (this_WS_2= RULE_WS )* ( (lv_combinator_3_0= ruleCombinator ) ) ) ) ( (lv_right_4_0= ruleSelector ) )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:832:2: ( (lv_left_0_0= ruleSimpleSelector ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:833:1: (lv_left_0_0= ruleSimpleSelector )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:833:1: (lv_left_0_0= ruleSimpleSelector )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:834:3: lv_left_0_0= ruleSimpleSelector
+ {
+
+ newCompositeNode(grammarAccess.getCompositeSelectorAccess().getLeftSimpleSelectorParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleSimpleSelector_in_ruleCompositeSelector1909);
+ lv_left_0_0=ruleSimpleSelector();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getCompositeSelectorRule());
+ }
+ set(
+ current,
+ "left",
+ lv_left_0_0,
+ "SimpleSelector");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:850:2: ( (this_WS_1= RULE_WS )+ | ( (this_WS_2= RULE_WS )* ( (lv_combinator_3_0= ruleCombinator ) ) ) )
+ int alt47=2;
+ alt47 = dfa47.predict(input);
+ switch (alt47) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:850:3: (this_WS_1= RULE_WS )+
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:850:3: (this_WS_1= RULE_WS )+
+ int cnt45=0;
+ loop45:
+ do {
+ int alt45=2;
+ int LA45_0 = input.LA(1);
+
+ if ( (LA45_0==RULE_WS) ) {
+ alt45=1;
+ }
+
+
+ switch (alt45) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:850:4: this_WS_1= RULE_WS
+ {
+ this_WS_1=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleCompositeSelector1922);
+
+ newLeafNode(this_WS_1, grammarAccess.getCompositeSelectorAccess().getWSTerminalRuleCall_1_0());
+
+
+ }
+ break;
+
+ default :
+ if ( cnt45 >= 1 ) break loop45;
+ EarlyExitException eee =
+ new EarlyExitException(45, input);
+ throw eee;
+ }
+ cnt45++;
+ } while (true);
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:855:6: ( (this_WS_2= RULE_WS )* ( (lv_combinator_3_0= ruleCombinator ) ) )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:855:6: ( (this_WS_2= RULE_WS )* ( (lv_combinator_3_0= ruleCombinator ) ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:855:7: (this_WS_2= RULE_WS )* ( (lv_combinator_3_0= ruleCombinator ) )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:855:7: (this_WS_2= RULE_WS )*
+ loop46:
+ do {
+ int alt46=2;
+ int LA46_0 = input.LA(1);
+
+ if ( (LA46_0==RULE_WS) ) {
+ alt46=1;
+ }
+
+
+ switch (alt46) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:855:8: this_WS_2= RULE_WS
+ {
+ this_WS_2=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleCompositeSelector1942);
+
+ newLeafNode(this_WS_2, grammarAccess.getCompositeSelectorAccess().getWSTerminalRuleCall_1_1_0());
+
+
+ }
+ break;
+
+ default :
+ break loop46;
+ }
+ } while (true);
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:859:3: ( (lv_combinator_3_0= ruleCombinator ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:860:1: (lv_combinator_3_0= ruleCombinator )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:860:1: (lv_combinator_3_0= ruleCombinator )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:861:3: lv_combinator_3_0= ruleCombinator
+ {
+
+ newCompositeNode(grammarAccess.getCompositeSelectorAccess().getCombinatorCombinatorParserRuleCall_1_1_1_0());
+
+ pushFollow(FOLLOW_ruleCombinator_in_ruleCompositeSelector1964);
+ lv_combinator_3_0=ruleCombinator();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getCompositeSelectorRule());
+ }
+ set(
+ current,
+ "combinator",
+ lv_combinator_3_0,
+ "Combinator");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:877:4: ( (lv_right_4_0= ruleSelector ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:878:1: (lv_right_4_0= ruleSelector )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:878:1: (lv_right_4_0= ruleSelector )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:879:3: lv_right_4_0= ruleSelector
+ {
+
+ newCompositeNode(grammarAccess.getCompositeSelectorAccess().getRightSelectorParserRuleCall_2_0());
+
+ pushFollow(FOLLOW_ruleSelector_in_ruleCompositeSelector1987);
+ lv_right_4_0=ruleSelector();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getCompositeSelectorRule());
+ }
+ set(
+ current,
+ "right",
+ lv_right_4_0,
+ "Selector");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleCompositeSelector"
+
+
+ // $ANTLR start "entryRuleSimpleSelector"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:903:1: entryRuleSimpleSelector returns [EObject current=null] : iv_ruleSimpleSelector= ruleSimpleSelector EOF ;
+ public final EObject entryRuleSimpleSelector() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleSimpleSelector = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:904:2: (iv_ruleSimpleSelector= ruleSimpleSelector EOF )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:905:2: iv_ruleSimpleSelector= ruleSimpleSelector EOF
+ {
+ newCompositeNode(grammarAccess.getSimpleSelectorRule());
+ pushFollow(FOLLOW_ruleSimpleSelector_in_entryRuleSimpleSelector2023);
+ iv_ruleSimpleSelector=ruleSimpleSelector();
+
+ state._fsp--;
+
+ current =iv_ruleSimpleSelector;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleSimpleSelector2033);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleSimpleSelector"
+
+
+ // $ANTLR start "ruleSimpleSelector"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:912:1: ruleSimpleSelector returns [EObject current=null] : ( ( ( ( (lv_elementName_0_1= RULE_ID | lv_elementName_0_2= '*' ) ) ) ( (lv_condition_1_0= ruleSelectorCondition ) )* ) | ( (lv_condition_2_0= ruleSelectorCondition ) )+ ) ;
+ public final EObject ruleSimpleSelector() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_elementName_0_1=null;
+ Token lv_elementName_0_2=null;
+ EObject lv_condition_1_0 = null;
+
+ EObject lv_condition_2_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:915:28: ( ( ( ( ( (lv_elementName_0_1= RULE_ID | lv_elementName_0_2= '*' ) ) ) ( (lv_condition_1_0= ruleSelectorCondition ) )* ) | ( (lv_condition_2_0= ruleSelectorCondition ) )+ ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:916:1: ( ( ( ( (lv_elementName_0_1= RULE_ID | lv_elementName_0_2= '*' ) ) ) ( (lv_condition_1_0= ruleSelectorCondition ) )* ) | ( (lv_condition_2_0= ruleSelectorCondition ) )+ )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:916:1: ( ( ( ( (lv_elementName_0_1= RULE_ID | lv_elementName_0_2= '*' ) ) ) ( (lv_condition_1_0= ruleSelectorCondition ) )* ) | ( (lv_condition_2_0= ruleSelectorCondition ) )+ )
+ int alt51=2;
+ int LA51_0 = input.LA(1);
+
+ if ( (LA51_0==RULE_ID||LA51_0==31) ) {
+ alt51=1;
+ }
+ else if ( ((LA51_0>=RULE_HASH && LA51_0<=RULE_T_CLASS)||LA51_0==30||LA51_0==36) ) {
+ alt51=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 51, 0, input);
+
+ throw nvae;
+ }
+ switch (alt51) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:916:2: ( ( ( (lv_elementName_0_1= RULE_ID | lv_elementName_0_2= '*' ) ) ) ( (lv_condition_1_0= ruleSelectorCondition ) )* )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:916:2: ( ( ( (lv_elementName_0_1= RULE_ID | lv_elementName_0_2= '*' ) ) ) ( (lv_condition_1_0= ruleSelectorCondition ) )* )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:916:3: ( ( (lv_elementName_0_1= RULE_ID | lv_elementName_0_2= '*' ) ) ) ( (lv_condition_1_0= ruleSelectorCondition ) )*
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:916:3: ( ( (lv_elementName_0_1= RULE_ID | lv_elementName_0_2= '*' ) ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:917:1: ( (lv_elementName_0_1= RULE_ID | lv_elementName_0_2= '*' ) )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:917:1: ( (lv_elementName_0_1= RULE_ID | lv_elementName_0_2= '*' ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:918:1: (lv_elementName_0_1= RULE_ID | lv_elementName_0_2= '*' )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:918:1: (lv_elementName_0_1= RULE_ID | lv_elementName_0_2= '*' )
+ int alt48=2;
+ int LA48_0 = input.LA(1);
+
+ if ( (LA48_0==RULE_ID) ) {
+ alt48=1;
+ }
+ else if ( (LA48_0==31) ) {
+ alt48=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 48, 0, input);
+
+ throw nvae;
+ }
+ switch (alt48) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:919:3: lv_elementName_0_1= RULE_ID
+ {
+ lv_elementName_0_1=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleSimpleSelector2078);
+
+ newLeafNode(lv_elementName_0_1, grammarAccess.getSimpleSelectorAccess().getElementNameIDTerminalRuleCall_0_0_0_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getSimpleSelectorRule());
+ }
+ setWithLastConsumed(
+ current,
+ "elementName",
+ lv_elementName_0_1,
+ "ID");
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:934:8: lv_elementName_0_2= '*'
+ {
+ lv_elementName_0_2=(Token)match(input,31,FOLLOW_31_in_ruleSimpleSelector2099);
+
+ newLeafNode(lv_elementName_0_2, grammarAccess.getSimpleSelectorAccess().getElementNameAsteriskKeyword_0_0_0_1());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getSimpleSelectorRule());
+ }
+ setWithLastConsumed(current, "elementName", lv_elementName_0_2, null);
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:949:2: ( (lv_condition_1_0= ruleSelectorCondition ) )*
+ loop49:
+ do {
+ int alt49=2;
+ int LA49_0 = input.LA(1);
+
+ if ( ((LA49_0>=RULE_HASH && LA49_0<=RULE_T_CLASS)||LA49_0==30||LA49_0==36) ) {
+ alt49=1;
+ }
+
+
+ switch (alt49) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:950:1: (lv_condition_1_0= ruleSelectorCondition )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:950:1: (lv_condition_1_0= ruleSelectorCondition )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:951:3: lv_condition_1_0= ruleSelectorCondition
+ {
+
+ newCompositeNode(grammarAccess.getSimpleSelectorAccess().getConditionSelectorConditionParserRuleCall_0_1_0());
+
+ pushFollow(FOLLOW_ruleSelectorCondition_in_ruleSimpleSelector2136);
+ lv_condition_1_0=ruleSelectorCondition();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSimpleSelectorRule());
+ }
+ add(
+ current,
+ "condition",
+ lv_condition_1_0,
+ "SelectorCondition");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop49;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:968:6: ( (lv_condition_2_0= ruleSelectorCondition ) )+
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:968:6: ( (lv_condition_2_0= ruleSelectorCondition ) )+
+ int cnt50=0;
+ loop50:
+ do {
+ int alt50=2;
+ int LA50_0 = input.LA(1);
+
+ if ( ((LA50_0>=RULE_HASH && LA50_0<=RULE_T_CLASS)||LA50_0==30||LA50_0==36) ) {
+ alt50=1;
+ }
+
+
+ switch (alt50) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:969:1: (lv_condition_2_0= ruleSelectorCondition )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:969:1: (lv_condition_2_0= ruleSelectorCondition )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:970:3: lv_condition_2_0= ruleSelectorCondition
+ {
+
+ newCompositeNode(grammarAccess.getSimpleSelectorAccess().getConditionSelectorConditionParserRuleCall_1_0());
+
+ pushFollow(FOLLOW_ruleSelectorCondition_in_ruleSimpleSelector2165);
+ lv_condition_2_0=ruleSelectorCondition();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSimpleSelectorRule());
+ }
+ add(
+ current,
+ "condition",
+ lv_condition_2_0,
+ "SelectorCondition");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ if ( cnt50 >= 1 ) break loop50;
+ EarlyExitException eee =
+ new EarlyExitException(50, input);
+ throw eee;
+ }
+ cnt50++;
+ } while (true);
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleSimpleSelector"
+
+
+ // $ANTLR start "entryRuleSelectorCondition"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:994:1: entryRuleSelectorCondition returns [EObject current=null] : iv_ruleSelectorCondition= ruleSelectorCondition EOF ;
+ public final EObject entryRuleSelectorCondition() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleSelectorCondition = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:995:2: (iv_ruleSelectorCondition= ruleSelectorCondition EOF )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:996:2: iv_ruleSelectorCondition= ruleSelectorCondition EOF
+ {
+ newCompositeNode(grammarAccess.getSelectorConditionRule());
+ pushFollow(FOLLOW_ruleSelectorCondition_in_entryRuleSelectorCondition2202);
+ iv_ruleSelectorCondition=ruleSelectorCondition();
+
+ state._fsp--;
+
+ current =iv_ruleSelectorCondition;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleSelectorCondition2212);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleSelectorCondition"
+
+
+ // $ANTLR start "ruleSelectorCondition"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1003:1: ruleSelectorCondition returns [EObject current=null] : (this_CSSId_0= ruleCSSId | this_Class_1= ruleClass | this_Attribute_2= ruleAttribute | this_Pseudo_3= rulePseudo ) ;
+ public final EObject ruleSelectorCondition() throws RecognitionException {
+ EObject current = null;
+
+ EObject this_CSSId_0 = null;
+
+ EObject this_Class_1 = null;
+
+ EObject this_Attribute_2 = null;
+
+ EObject this_Pseudo_3 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1006:28: ( (this_CSSId_0= ruleCSSId | this_Class_1= ruleClass | this_Attribute_2= ruleAttribute | this_Pseudo_3= rulePseudo ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1007:1: (this_CSSId_0= ruleCSSId | this_Class_1= ruleClass | this_Attribute_2= ruleAttribute | this_Pseudo_3= rulePseudo )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1007:1: (this_CSSId_0= ruleCSSId | this_Class_1= ruleClass | this_Attribute_2= ruleAttribute | this_Pseudo_3= rulePseudo )
+ int alt52=4;
+ switch ( input.LA(1) ) {
+ case RULE_HASH:
+ {
+ alt52=1;
+ }
+ break;
+ case RULE_T_CLASS:
+ {
+ alt52=2;
+ }
+ break;
+ case 36:
+ {
+ alt52=3;
+ }
+ break;
+ case 30:
+ {
+ alt52=4;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("", 52, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt52) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1008:5: this_CSSId_0= ruleCSSId
+ {
+
+ newCompositeNode(grammarAccess.getSelectorConditionAccess().getCSSIdParserRuleCall_0());
+
+ pushFollow(FOLLOW_ruleCSSId_in_ruleSelectorCondition2259);
+ this_CSSId_0=ruleCSSId();
+
+ state._fsp--;
+
+
+ current = this_CSSId_0;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1018:5: this_Class_1= ruleClass
+ {
+
+ newCompositeNode(grammarAccess.getSelectorConditionAccess().getClassParserRuleCall_1());
+
+ pushFollow(FOLLOW_ruleClass_in_ruleSelectorCondition2286);
+ this_Class_1=ruleClass();
+
+ state._fsp--;
+
+
+ current = this_Class_1;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1028:5: this_Attribute_2= ruleAttribute
+ {
+
+ newCompositeNode(grammarAccess.getSelectorConditionAccess().getAttributeParserRuleCall_2());
+
+ pushFollow(FOLLOW_ruleAttribute_in_ruleSelectorCondition2313);
+ this_Attribute_2=ruleAttribute();
+
+ state._fsp--;
+
+
+ current = this_Attribute_2;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1038:5: this_Pseudo_3= rulePseudo
+ {
+
+ newCompositeNode(grammarAccess.getSelectorConditionAccess().getPseudoParserRuleCall_3());
+
+ pushFollow(FOLLOW_rulePseudo_in_ruleSelectorCondition2340);
+ this_Pseudo_3=rulePseudo();
+
+ state._fsp--;
+
+
+ current = this_Pseudo_3;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleSelectorCondition"
+
+
+ // $ANTLR start "entryRuleCombinator"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1054:1: entryRuleCombinator returns [EObject current=null] : iv_ruleCombinator= ruleCombinator EOF ;
+ public final EObject entryRuleCombinator() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleCombinator = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1055:2: (iv_ruleCombinator= ruleCombinator EOF )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1056:2: iv_ruleCombinator= ruleCombinator EOF
+ {
+ newCompositeNode(grammarAccess.getCombinatorRule());
+ pushFollow(FOLLOW_ruleCombinator_in_entryRuleCombinator2375);
+ iv_ruleCombinator=ruleCombinator();
+
+ state._fsp--;
+
+ current =iv_ruleCombinator;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleCombinator2385);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleCombinator"
+
+
+ // $ANTLR start "ruleCombinator"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1063:1: ruleCombinator returns [EObject current=null] : ( ( (lv_kind_0_0= ruleKIND ) ) (this_WS_1= RULE_WS )* ) ;
+ public final EObject ruleCombinator() throws RecognitionException {
+ EObject current = null;
+
+ Token this_WS_1=null;
+ Enumerator lv_kind_0_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1066:28: ( ( ( (lv_kind_0_0= ruleKIND ) ) (this_WS_1= RULE_WS )* ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1067:1: ( ( (lv_kind_0_0= ruleKIND ) ) (this_WS_1= RULE_WS )* )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1067:1: ( ( (lv_kind_0_0= ruleKIND ) ) (this_WS_1= RULE_WS )* )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1067:2: ( (lv_kind_0_0= ruleKIND ) ) (this_WS_1= RULE_WS )*
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1067:2: ( (lv_kind_0_0= ruleKIND ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1068:1: (lv_kind_0_0= ruleKIND )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1068:1: (lv_kind_0_0= ruleKIND )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1069:3: lv_kind_0_0= ruleKIND
+ {
+
+ newCompositeNode(grammarAccess.getCombinatorAccess().getKindKINDEnumRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleKIND_in_ruleCombinator2431);
+ lv_kind_0_0=ruleKIND();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getCombinatorRule());
+ }
+ set(
+ current,
+ "kind",
+ lv_kind_0_0,
+ "KIND");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1085:2: (this_WS_1= RULE_WS )*
+ loop53:
+ do {
+ int alt53=2;
+ int LA53_0 = input.LA(1);
+
+ if ( (LA53_0==RULE_WS) ) {
+ alt53=1;
+ }
+
+
+ switch (alt53) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1085:3: this_WS_1= RULE_WS
+ {
+ this_WS_1=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleCombinator2443);
+
+ newLeafNode(this_WS_1, grammarAccess.getCombinatorAccess().getWSTerminalRuleCall_1());
+
+
+ }
+ break;
+
+ default :
+ break loop53;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleCombinator"
+
+
+ // $ANTLR start "entryRuleDeclaration"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1097: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.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1098:2: (iv_ruleDeclaration= ruleDeclaration EOF )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1099:2: iv_ruleDeclaration= ruleDeclaration EOF
+ {
+ newCompositeNode(grammarAccess.getDeclarationRule());
+ pushFollow(FOLLOW_ruleDeclaration_in_entryRuleDeclaration2480);
+ iv_ruleDeclaration=ruleDeclaration();
+
+ state._fsp--;
+
+ current =iv_ruleDeclaration;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleDeclaration2490);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleDeclaration"
+
+
+ // $ANTLR start "ruleDeclaration"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1106:1: ruleDeclaration returns [EObject current=null] : ( ( (lv_property_0_0= RULE_ID ) ) (this_WS_1= RULE_WS )* otherlv_2= ':' (this_WS_3= RULE_WS )* ( (lv_expression_4_0= ruleExpression ) ) ( ( (lv_important_5_0= RULE_T_IMPORTANT ) ) (this_WS_6= RULE_WS )* )? ) ;
+ public final EObject ruleDeclaration() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_property_0_0=null;
+ Token this_WS_1=null;
+ Token otherlv_2=null;
+ Token this_WS_3=null;
+ Token lv_important_5_0=null;
+ Token this_WS_6=null;
+ EObject lv_expression_4_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1109:28: ( ( ( (lv_property_0_0= RULE_ID ) ) (this_WS_1= RULE_WS )* otherlv_2= ':' (this_WS_3= RULE_WS )* ( (lv_expression_4_0= ruleExpression ) ) ( ( (lv_important_5_0= RULE_T_IMPORTANT ) ) (this_WS_6= RULE_WS )* )? ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1110:1: ( ( (lv_property_0_0= RULE_ID ) ) (this_WS_1= RULE_WS )* otherlv_2= ':' (this_WS_3= RULE_WS )* ( (lv_expression_4_0= ruleExpression ) ) ( ( (lv_important_5_0= RULE_T_IMPORTANT ) ) (this_WS_6= RULE_WS )* )? )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1110:1: ( ( (lv_property_0_0= RULE_ID ) ) (this_WS_1= RULE_WS )* otherlv_2= ':' (this_WS_3= RULE_WS )* ( (lv_expression_4_0= ruleExpression ) ) ( ( (lv_important_5_0= RULE_T_IMPORTANT ) ) (this_WS_6= RULE_WS )* )? )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1110:2: ( (lv_property_0_0= RULE_ID ) ) (this_WS_1= RULE_WS )* otherlv_2= ':' (this_WS_3= RULE_WS )* ( (lv_expression_4_0= ruleExpression ) ) ( ( (lv_important_5_0= RULE_T_IMPORTANT ) ) (this_WS_6= RULE_WS )* )?
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1110:2: ( (lv_property_0_0= RULE_ID ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1111:1: (lv_property_0_0= RULE_ID )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1111:1: (lv_property_0_0= RULE_ID )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1112:3: lv_property_0_0= RULE_ID
+ {
+ lv_property_0_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleDeclaration2532);
+
+ newLeafNode(lv_property_0_0, grammarAccess.getDeclarationAccess().getPropertyIDTerminalRuleCall_0_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getDeclarationRule());
+ }
+ setWithLastConsumed(
+ current,
+ "property",
+ lv_property_0_0,
+ "ID");
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1128:2: (this_WS_1= RULE_WS )*
+ loop54:
+ do {
+ int alt54=2;
+ int LA54_0 = input.LA(1);
+
+ if ( (LA54_0==RULE_WS) ) {
+ alt54=1;
+ }
+
+
+ switch (alt54) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1128:3: this_WS_1= RULE_WS
+ {
+ this_WS_1=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleDeclaration2549);
+
+ newLeafNode(this_WS_1, grammarAccess.getDeclarationAccess().getWSTerminalRuleCall_1());
+
+
+ }
+ break;
+
+ default :
+ break loop54;
+ }
+ } while (true);
+
+ otherlv_2=(Token)match(input,30,FOLLOW_30_in_ruleDeclaration2562);
+
+ newLeafNode(otherlv_2, grammarAccess.getDeclarationAccess().getColonKeyword_2());
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1136:1: (this_WS_3= RULE_WS )*
+ loop55:
+ do {
+ int alt55=2;
+ int LA55_0 = input.LA(1);
+
+ if ( (LA55_0==RULE_WS) ) {
+ alt55=1;
+ }
+
+
+ switch (alt55) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1136:2: this_WS_3= RULE_WS
+ {
+ this_WS_3=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleDeclaration2574);
+
+ newLeafNode(this_WS_3, grammarAccess.getDeclarationAccess().getWSTerminalRuleCall_3());
+
+
+ }
+ break;
+
+ default :
+ break loop55;
+ }
+ } while (true);
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1140:3: ( (lv_expression_4_0= ruleExpression ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1141:1: (lv_expression_4_0= ruleExpression )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1141:1: (lv_expression_4_0= ruleExpression )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1142:3: lv_expression_4_0= ruleExpression
+ {
+
+ newCompositeNode(grammarAccess.getDeclarationAccess().getExpressionExpressionParserRuleCall_4_0());
+
+ pushFollow(FOLLOW_ruleExpression_in_ruleDeclaration2596);
+ lv_expression_4_0=ruleExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getDeclarationRule());
+ }
+ set(
+ current,
+ "expression",
+ lv_expression_4_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1158:2: ( ( (lv_important_5_0= RULE_T_IMPORTANT ) ) (this_WS_6= RULE_WS )* )?
+ int alt57=2;
+ int LA57_0 = input.LA(1);
+
+ if ( (LA57_0==RULE_T_IMPORTANT) ) {
+ alt57=1;
+ }
+ switch (alt57) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1158:3: ( (lv_important_5_0= RULE_T_IMPORTANT ) ) (this_WS_6= RULE_WS )*
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1158:3: ( (lv_important_5_0= RULE_T_IMPORTANT ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1159:1: (lv_important_5_0= RULE_T_IMPORTANT )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1159:1: (lv_important_5_0= RULE_T_IMPORTANT )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1160:3: lv_important_5_0= RULE_T_IMPORTANT
+ {
+ lv_important_5_0=(Token)match(input,RULE_T_IMPORTANT,FOLLOW_RULE_T_IMPORTANT_in_ruleDeclaration2614);
+
+ newLeafNode(lv_important_5_0, grammarAccess.getDeclarationAccess().getImportantT_IMPORTANTTerminalRuleCall_5_0_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getDeclarationRule());
+ }
+ setWithLastConsumed(
+ current,
+ "important",
+ true,
+ "T_IMPORTANT");
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1176:2: (this_WS_6= RULE_WS )*
+ loop56:
+ do {
+ int alt56=2;
+ int LA56_0 = input.LA(1);
+
+ if ( (LA56_0==RULE_WS) ) {
+ alt56=1;
+ }
+
+
+ switch (alt56) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1176:3: this_WS_6= RULE_WS
+ {
+ this_WS_6=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleDeclaration2631);
+
+ newLeafNode(this_WS_6, grammarAccess.getDeclarationAccess().getWSTerminalRuleCall_5_1());
+
+
+ }
+ break;
+
+ default :
+ break loop56;
+ }
+ } while (true);
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleDeclaration"
+
+
+ // $ANTLR start "entryRuleExpression"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1188:1: entryRuleExpression returns [EObject current=null] : iv_ruleExpression= ruleExpression EOF ;
+ public final EObject entryRuleExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleExpression = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1189:2: (iv_ruleExpression= ruleExpression EOF )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1190:2: iv_ruleExpression= ruleExpression EOF
+ {
+ newCompositeNode(grammarAccess.getExpressionRule());
+ pushFollow(FOLLOW_ruleExpression_in_entryRuleExpression2670);
+ iv_ruleExpression=ruleExpression();
+
+ state._fsp--;
+
+ current =iv_ruleExpression;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleExpression2680);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleExpression"
+
+
+ // $ANTLR start "ruleExpression"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1197:1: ruleExpression returns [EObject current=null] : ( ( (lv_terms_0_0= ruleTerm ) ) ( (lv_subterms_1_0= ruleSubterm ) )* ) ;
+ public final EObject ruleExpression() throws RecognitionException {
+ EObject current = null;
+
+ EObject lv_terms_0_0 = null;
+
+ EObject lv_subterms_1_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1200:28: ( ( ( (lv_terms_0_0= ruleTerm ) ) ( (lv_subterms_1_0= ruleSubterm ) )* ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1201:1: ( ( (lv_terms_0_0= ruleTerm ) ) ( (lv_subterms_1_0= ruleSubterm ) )* )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1201:1: ( ( (lv_terms_0_0= ruleTerm ) ) ( (lv_subterms_1_0= ruleSubterm ) )* )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1201:2: ( (lv_terms_0_0= ruleTerm ) ) ( (lv_subterms_1_0= ruleSubterm ) )*
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1201:2: ( (lv_terms_0_0= ruleTerm ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1202:1: (lv_terms_0_0= ruleTerm )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1202:1: (lv_terms_0_0= ruleTerm )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1203:3: lv_terms_0_0= ruleTerm
+ {
+
+ newCompositeNode(grammarAccess.getExpressionAccess().getTermsTermParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleTerm_in_ruleExpression2726);
+ lv_terms_0_0=ruleTerm();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getExpressionRule());
+ }
+ set(
+ current,
+ "terms",
+ lv_terms_0_0,
+ "Term");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1219:2: ( (lv_subterms_1_0= ruleSubterm ) )*
+ loop58:
+ do {
+ int alt58=2;
+ int LA58_0 = input.LA(1);
+
+ if ( (LA58_0==RULE_STRING||LA58_0==RULE_ID||LA58_0==RULE_T_NUM||LA58_0==RULE_HASH||LA58_0==25||(LA58_0>=34 && LA58_0<=35)||(LA58_0>=38 && LA58_0<=39)) ) {
+ alt58=1;
+ }
+
+
+ switch (alt58) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1220:1: (lv_subterms_1_0= ruleSubterm )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1220:1: (lv_subterms_1_0= ruleSubterm )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1221:3: lv_subterms_1_0= ruleSubterm
+ {
+
+ newCompositeNode(grammarAccess.getExpressionAccess().getSubtermsSubtermParserRuleCall_1_0());
+
+ pushFollow(FOLLOW_ruleSubterm_in_ruleExpression2747);
+ lv_subterms_1_0=ruleSubterm();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getExpressionRule());
+ }
+ add(
+ current,
+ "subterms",
+ lv_subterms_1_0,
+ "Subterm");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ default :
+ break loop58;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleExpression"
+
+
+ // $ANTLR start "entryRuleSubterm"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1245:1: entryRuleSubterm returns [EObject current=null] : iv_ruleSubterm= ruleSubterm EOF ;
+ public final EObject entryRuleSubterm() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleSubterm = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1246:2: (iv_ruleSubterm= ruleSubterm EOF )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1247:2: iv_ruleSubterm= ruleSubterm EOF
+ {
+ newCompositeNode(grammarAccess.getSubtermRule());
+ pushFollow(FOLLOW_ruleSubterm_in_entryRuleSubterm2784);
+ iv_ruleSubterm=ruleSubterm();
+
+ state._fsp--;
+
+ current =iv_ruleSubterm;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleSubterm2794);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleSubterm"
+
+
+ // $ANTLR start "ruleSubterm"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1254:1: ruleSubterm returns [EObject current=null] : ( ( (lv_operator_0_0= ruleOperator ) )? ( (lv_term_1_0= ruleTerm ) ) ) ;
+ public final EObject ruleSubterm() throws RecognitionException {
+ EObject current = null;
+
+ AntlrDatatypeRuleToken lv_operator_0_0 = null;
+
+ EObject lv_term_1_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1257:28: ( ( ( (lv_operator_0_0= ruleOperator ) )? ( (lv_term_1_0= ruleTerm ) ) ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1258:1: ( ( (lv_operator_0_0= ruleOperator ) )? ( (lv_term_1_0= ruleTerm ) ) )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1258:1: ( ( (lv_operator_0_0= ruleOperator ) )? ( (lv_term_1_0= ruleTerm ) ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1258:2: ( (lv_operator_0_0= ruleOperator ) )? ( (lv_term_1_0= ruleTerm ) )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1258:2: ( (lv_operator_0_0= ruleOperator ) )?
+ int alt59=2;
+ int LA59_0 = input.LA(1);
+
+ if ( (LA59_0==25||LA59_0==35) ) {
+ alt59=1;
+ }
+ switch (alt59) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1259:1: (lv_operator_0_0= ruleOperator )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1259:1: (lv_operator_0_0= ruleOperator )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1260:3: lv_operator_0_0= ruleOperator
+ {
+
+ newCompositeNode(grammarAccess.getSubtermAccess().getOperatorOperatorParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleOperator_in_ruleSubterm2840);
+ lv_operator_0_0=ruleOperator();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSubtermRule());
+ }
+ set(
+ current,
+ "operator",
+ lv_operator_0_0,
+ "Operator");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1276:3: ( (lv_term_1_0= ruleTerm ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1277:1: (lv_term_1_0= ruleTerm )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1277:1: (lv_term_1_0= ruleTerm )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1278:3: lv_term_1_0= ruleTerm
+ {
+
+ newCompositeNode(grammarAccess.getSubtermAccess().getTermTermParserRuleCall_1_0());
+
+ pushFollow(FOLLOW_ruleTerm_in_ruleSubterm2862);
+ lv_term_1_0=ruleTerm();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getSubtermRule());
+ }
+ set(
+ current,
+ "term",
+ lv_term_1_0,
+ "Term");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleSubterm"
+
+
+ // $ANTLR start "entryRuleTerm"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1302: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.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1303:2: (iv_ruleTerm= ruleTerm EOF )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1304:2: iv_ruleTerm= ruleTerm EOF
+ {
+ newCompositeNode(grammarAccess.getTermRule());
+ pushFollow(FOLLOW_ruleTerm_in_entryRuleTerm2898);
+ iv_ruleTerm=ruleTerm();
+
+ state._fsp--;
+
+ current =iv_ruleTerm;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleTerm2908);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleTerm"
+
+
+ // $ANTLR start "ruleTerm"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1311:1: ruleTerm returns [EObject current=null] : ( (this_Number_0= ruleNumber | 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_Frequency_7= ruleFrequency | this_Name_8= ruleName | this_StringValue_9= ruleStringValue | this_Uri_10= ruleUri | this_HexColor_11= ruleHexColor | this_Function_12= ruleFunction ) (this_WS_13= RULE_WS )* ) ;
+ public final EObject ruleTerm() throws RecognitionException {
+ EObject current = null;
+
+ Token this_WS_13=null;
+ EObject this_Number_0 = null;
+
+ EObject this_Percentage_1 = null;
+
+ EObject this_Length_2 = null;
+
+ EObject this_Ems_3 = null;
+
+ EObject this_Exs_4 = null;
+
+ EObject this_Angle_5 = null;
+
+ EObject this_Time_6 = null;
+
+ EObject this_Frequency_7 = null;
+
+ EObject this_Name_8 = null;
+
+ EObject this_StringValue_9 = null;
+
+ EObject this_Uri_10 = null;
+
+ EObject this_HexColor_11 = null;
+
+ EObject this_Function_12 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1314:28: ( ( (this_Number_0= ruleNumber | 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_Frequency_7= ruleFrequency | this_Name_8= ruleName | this_StringValue_9= ruleStringValue | this_Uri_10= ruleUri | this_HexColor_11= ruleHexColor | this_Function_12= ruleFunction ) (this_WS_13= RULE_WS )* ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1315:1: ( (this_Number_0= ruleNumber | 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_Frequency_7= ruleFrequency | this_Name_8= ruleName | this_StringValue_9= ruleStringValue | this_Uri_10= ruleUri | this_HexColor_11= ruleHexColor | this_Function_12= ruleFunction ) (this_WS_13= RULE_WS )* )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1315:1: ( (this_Number_0= ruleNumber | 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_Frequency_7= ruleFrequency | this_Name_8= ruleName | this_StringValue_9= ruleStringValue | this_Uri_10= ruleUri | this_HexColor_11= ruleHexColor | this_Function_12= ruleFunction ) (this_WS_13= RULE_WS )* )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1315:2: (this_Number_0= ruleNumber | 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_Frequency_7= ruleFrequency | this_Name_8= ruleName | this_StringValue_9= ruleStringValue | this_Uri_10= ruleUri | this_HexColor_11= ruleHexColor | this_Function_12= ruleFunction ) (this_WS_13= RULE_WS )*
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1315:2: (this_Number_0= ruleNumber | 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_Frequency_7= ruleFrequency | this_Name_8= ruleName | this_StringValue_9= ruleStringValue | this_Uri_10= ruleUri | this_HexColor_11= ruleHexColor | this_Function_12= ruleFunction )
+ int alt60=13;
+ alt60 = dfa60.predict(input);
+ switch (alt60) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1316:5: this_Number_0= ruleNumber
+ {
+
+ newCompositeNode(grammarAccess.getTermAccess().getNumberParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleNumber_in_ruleTerm2956);
+ this_Number_0=ruleNumber();
+
+ state._fsp--;
+
+
+ current = this_Number_0;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1326:5: this_Percentage_1= rulePercentage
+ {
+
+ newCompositeNode(grammarAccess.getTermAccess().getPercentageParserRuleCall_0_1());
+
+ pushFollow(FOLLOW_rulePercentage_in_ruleTerm2983);
+ this_Percentage_1=rulePercentage();
+
+ state._fsp--;
+
+
+ current = this_Percentage_1;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1336:5: this_Length_2= ruleLength
+ {
+
+ newCompositeNode(grammarAccess.getTermAccess().getLengthParserRuleCall_0_2());
+
+ pushFollow(FOLLOW_ruleLength_in_ruleTerm3010);
+ this_Length_2=ruleLength();
+
+ state._fsp--;
+
+
+ current = this_Length_2;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 4 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1346:5: this_Ems_3= ruleEms
+ {
+
+ newCompositeNode(grammarAccess.getTermAccess().getEmsParserRuleCall_0_3());
+
+ pushFollow(FOLLOW_ruleEms_in_ruleTerm3037);
+ this_Ems_3=ruleEms();
+
+ state._fsp--;
+
+
+ current = this_Ems_3;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 5 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1356:5: this_Exs_4= ruleExs
+ {
+
+ newCompositeNode(grammarAccess.getTermAccess().getExsParserRuleCall_0_4());
+
+ pushFollow(FOLLOW_ruleExs_in_ruleTerm3064);
+ this_Exs_4=ruleExs();
+
+ state._fsp--;
+
+
+ current = this_Exs_4;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 6 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1366:5: this_Angle_5= ruleAngle
+ {
+
+ newCompositeNode(grammarAccess.getTermAccess().getAngleParserRuleCall_0_5());
+
+ pushFollow(FOLLOW_ruleAngle_in_ruleTerm3091);
+ this_Angle_5=ruleAngle();
+
+ state._fsp--;
+
+
+ current = this_Angle_5;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 7 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1376:5: this_Time_6= ruleTime
+ {
+
+ newCompositeNode(grammarAccess.getTermAccess().getTimeParserRuleCall_0_6());
+
+ pushFollow(FOLLOW_ruleTime_in_ruleTerm3118);
+ this_Time_6=ruleTime();
+
+ state._fsp--;
+
+
+ current = this_Time_6;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 8 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1386:5: this_Frequency_7= ruleFrequency
+ {
+
+ newCompositeNode(grammarAccess.getTermAccess().getFrequencyParserRuleCall_0_7());
+
+ pushFollow(FOLLOW_ruleFrequency_in_ruleTerm3145);
+ this_Frequency_7=ruleFrequency();
+
+ state._fsp--;
+
+
+ current = this_Frequency_7;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 9 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1396:5: this_Name_8= ruleName
+ {
+
+ newCompositeNode(grammarAccess.getTermAccess().getNameParserRuleCall_0_8());
+
+ pushFollow(FOLLOW_ruleName_in_ruleTerm3172);
+ this_Name_8=ruleName();
+
+ state._fsp--;
+
+
+ current = this_Name_8;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 10 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1406:5: this_StringValue_9= ruleStringValue
+ {
+
+ newCompositeNode(grammarAccess.getTermAccess().getStringValueParserRuleCall_0_9());
+
+ pushFollow(FOLLOW_ruleStringValue_in_ruleTerm3199);
+ this_StringValue_9=ruleStringValue();
+
+ state._fsp--;
+
+
+ current = this_StringValue_9;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 11 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1416:5: this_Uri_10= ruleUri
+ {
+
+ newCompositeNode(grammarAccess.getTermAccess().getUriParserRuleCall_0_10());
+
+ pushFollow(FOLLOW_ruleUri_in_ruleTerm3226);
+ this_Uri_10=ruleUri();
+
+ state._fsp--;
+
+
+ current = this_Uri_10;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 12 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1426:5: this_HexColor_11= ruleHexColor
+ {
+
+ newCompositeNode(grammarAccess.getTermAccess().getHexColorParserRuleCall_0_11());
+
+ pushFollow(FOLLOW_ruleHexColor_in_ruleTerm3253);
+ this_HexColor_11=ruleHexColor();
+
+ state._fsp--;
+
+
+ current = this_HexColor_11;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+ case 13 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1436:5: this_Function_12= ruleFunction
+ {
+
+ newCompositeNode(grammarAccess.getTermAccess().getFunctionParserRuleCall_0_12());
+
+ pushFollow(FOLLOW_ruleFunction_in_ruleTerm3280);
+ this_Function_12=ruleFunction();
+
+ state._fsp--;
+
+
+ current = this_Function_12;
+ afterParserOrEnumRuleCall();
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1444:2: (this_WS_13= RULE_WS )*
+ loop61:
+ do {
+ int alt61=2;
+ int LA61_0 = input.LA(1);
+
+ if ( (LA61_0==RULE_WS) ) {
+ alt61=1;
+ }
+
+
+ switch (alt61) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1444:3: this_WS_13= RULE_WS
+ {
+ this_WS_13=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleTerm3292);
+
+ newLeafNode(this_WS_13, grammarAccess.getTermAccess().getWSTerminalRuleCall_1());
+
+
+ }
+ break;
+
+ default :
+ break loop61;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleTerm"
+
+
+ // $ANTLR start "entryRuleFunction"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1456: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.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1457:2: (iv_ruleFunction= ruleFunction EOF )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1458:2: iv_ruleFunction= ruleFunction EOF
+ {
+ newCompositeNode(grammarAccess.getFunctionRule());
+ pushFollow(FOLLOW_ruleFunction_in_entryRuleFunction3329);
+ iv_ruleFunction=ruleFunction();
+
+ state._fsp--;
+
+ current =iv_ruleFunction;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleFunction3339);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleFunction"
+
+
+ // $ANTLR start "ruleFunction"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1465:1: ruleFunction returns [EObject current=null] : ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= '(' (this_WS_2= RULE_WS )* ( (lv_args_3_0= ruleExpression ) ) otherlv_4= ')' ) ;
+ public final EObject ruleFunction() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_name_0_0=null;
+ Token otherlv_1=null;
+ Token this_WS_2=null;
+ Token otherlv_4=null;
+ EObject lv_args_3_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1468:28: ( ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= '(' (this_WS_2= RULE_WS )* ( (lv_args_3_0= ruleExpression ) ) otherlv_4= ')' ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1469:1: ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= '(' (this_WS_2= RULE_WS )* ( (lv_args_3_0= ruleExpression ) ) otherlv_4= ')' )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1469:1: ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= '(' (this_WS_2= RULE_WS )* ( (lv_args_3_0= ruleExpression ) ) otherlv_4= ')' )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1469:2: ( (lv_name_0_0= RULE_ID ) ) otherlv_1= '(' (this_WS_2= RULE_WS )* ( (lv_args_3_0= ruleExpression ) ) otherlv_4= ')'
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1469:2: ( (lv_name_0_0= RULE_ID ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1470:1: (lv_name_0_0= RULE_ID )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1470:1: (lv_name_0_0= RULE_ID )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1471:3: lv_name_0_0= RULE_ID
+ {
+ lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFunction3381);
+
+ newLeafNode(lv_name_0_0, grammarAccess.getFunctionAccess().getNameIDTerminalRuleCall_0_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getFunctionRule());
+ }
+ setWithLastConsumed(
+ current,
+ "name",
+ lv_name_0_0,
+ "ID");
+
+
+ }
+
+
+ }
+
+ otherlv_1=(Token)match(input,32,FOLLOW_32_in_ruleFunction3398);
+
+ newLeafNode(otherlv_1, grammarAccess.getFunctionAccess().getLeftParenthesisKeyword_1());
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1491:1: (this_WS_2= RULE_WS )*
+ loop62:
+ do {
+ int alt62=2;
+ int LA62_0 = input.LA(1);
+
+ if ( (LA62_0==RULE_WS) ) {
+ alt62=1;
+ }
+
+
+ switch (alt62) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1491:2: this_WS_2= RULE_WS
+ {
+ this_WS_2=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleFunction3410);
+
+ newLeafNode(this_WS_2, grammarAccess.getFunctionAccess().getWSTerminalRuleCall_2());
+
+
+ }
+ break;
+
+ default :
+ break loop62;
+ }
+ } while (true);
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1495:3: ( (lv_args_3_0= ruleExpression ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1496:1: (lv_args_3_0= ruleExpression )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1496:1: (lv_args_3_0= ruleExpression )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1497:3: lv_args_3_0= ruleExpression
+ {
+
+ newCompositeNode(grammarAccess.getFunctionAccess().getArgsExpressionParserRuleCall_3_0());
+
+ pushFollow(FOLLOW_ruleExpression_in_ruleFunction3432);
+ lv_args_3_0=ruleExpression();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getFunctionRule());
+ }
+ set(
+ current,
+ "args",
+ lv_args_3_0,
+ "Expression");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ otherlv_4=(Token)match(input,33,FOLLOW_33_in_ruleFunction3444);
+
+ newLeafNode(otherlv_4, grammarAccess.getFunctionAccess().getRightParenthesisKeyword_4());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleFunction"
+
+
+ // $ANTLR start "entryRuleName"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1525:1: entryRuleName returns [EObject current=null] : iv_ruleName= ruleName EOF ;
+ public final EObject entryRuleName() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleName = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1526:2: (iv_ruleName= ruleName EOF )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1527:2: iv_ruleName= ruleName EOF
+ {
+ newCompositeNode(grammarAccess.getNameRule());
+ pushFollow(FOLLOW_ruleName_in_entryRuleName3480);
+ iv_ruleName=ruleName();
+
+ state._fsp--;
+
+ current =iv_ruleName;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleName3490);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleName"
+
+
+ // $ANTLR start "ruleName"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1534:1: ruleName returns [EObject current=null] : ( (lv_value_0_0= RULE_ID ) ) ;
+ public final EObject ruleName() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_value_0_0=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1537:28: ( ( (lv_value_0_0= RULE_ID ) ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1538:1: ( (lv_value_0_0= RULE_ID ) )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1538:1: ( (lv_value_0_0= RULE_ID ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1539:1: (lv_value_0_0= RULE_ID )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1539:1: (lv_value_0_0= RULE_ID )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1540:3: lv_value_0_0= RULE_ID
+ {
+ lv_value_0_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleName3531);
+
+ newLeafNode(lv_value_0_0, grammarAccess.getNameAccess().getValueIDTerminalRuleCall_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getNameRule());
+ }
+ setWithLastConsumed(
+ current,
+ "value",
+ lv_value_0_0,
+ "ID");
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleName"
+
+
+ // $ANTLR start "entryRuleNumber"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1564:1: entryRuleNumber returns [EObject current=null] : iv_ruleNumber= ruleNumber EOF ;
+ public final EObject entryRuleNumber() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleNumber = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1565:2: (iv_ruleNumber= ruleNumber EOF )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1566:2: iv_ruleNumber= ruleNumber EOF
+ {
+ newCompositeNode(grammarAccess.getNumberRule());
+ pushFollow(FOLLOW_ruleNumber_in_entryRuleNumber3571);
+ iv_ruleNumber=ruleNumber();
+
+ state._fsp--;
+
+ current =iv_ruleNumber;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleNumber3581);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleNumber"
+
+
+ // $ANTLR start "ruleNumber"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1573:1: ruleNumber returns [EObject current=null] : ( ( (lv_op_0_0= ruleUnaryOperator ) )? ( (lv_value_1_0= RULE_T_NUM ) ) ) ;
+ public final EObject ruleNumber() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_value_1_0=null;
+ EObject lv_op_0_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1576:28: ( ( ( (lv_op_0_0= ruleUnaryOperator ) )? ( (lv_value_1_0= RULE_T_NUM ) ) ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1577:1: ( ( (lv_op_0_0= ruleUnaryOperator ) )? ( (lv_value_1_0= RULE_T_NUM ) ) )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1577:1: ( ( (lv_op_0_0= ruleUnaryOperator ) )? ( (lv_value_1_0= RULE_T_NUM ) ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1577:2: ( (lv_op_0_0= ruleUnaryOperator ) )? ( (lv_value_1_0= RULE_T_NUM ) )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1577:2: ( (lv_op_0_0= ruleUnaryOperator ) )?
+ int alt63=2;
+ int LA63_0 = input.LA(1);
+
+ if ( ((LA63_0>=38 && LA63_0<=39)) ) {
+ alt63=1;
+ }
+ switch (alt63) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1578:1: (lv_op_0_0= ruleUnaryOperator )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1578:1: (lv_op_0_0= ruleUnaryOperator )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1579:3: lv_op_0_0= ruleUnaryOperator
+ {
+
+ newCompositeNode(grammarAccess.getNumberAccess().getOpUnaryOperatorParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleUnaryOperator_in_ruleNumber3627);
+ lv_op_0_0=ruleUnaryOperator();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getNumberRule());
+ }
+ set(
+ current,
+ "op",
+ lv_op_0_0,
+ "UnaryOperator");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1595:3: ( (lv_value_1_0= RULE_T_NUM ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1596:1: (lv_value_1_0= RULE_T_NUM )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1596:1: (lv_value_1_0= RULE_T_NUM )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1597:3: lv_value_1_0= RULE_T_NUM
+ {
+ lv_value_1_0=(Token)match(input,RULE_T_NUM,FOLLOW_RULE_T_NUM_in_ruleNumber3645);
+
+ newLeafNode(lv_value_1_0, grammarAccess.getNumberAccess().getValueT_NUMTerminalRuleCall_1_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getNumberRule());
+ }
+ setWithLastConsumed(
+ current,
+ "value",
+ lv_value_1_0,
+ "T_NUM");
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleNumber"
+
+
+ // $ANTLR start "entryRulePercentage"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1621:1: entryRulePercentage returns [EObject current=null] : iv_rulePercentage= rulePercentage EOF ;
+ public final EObject entryRulePercentage() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_rulePercentage = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1622:2: (iv_rulePercentage= rulePercentage EOF )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1623:2: iv_rulePercentage= rulePercentage EOF
+ {
+ newCompositeNode(grammarAccess.getPercentageRule());
+ pushFollow(FOLLOW_rulePercentage_in_entryRulePercentage3686);
+ iv_rulePercentage=rulePercentage();
+
+ state._fsp--;
+
+ current =iv_rulePercentage;
+ match(input,EOF,FOLLOW_EOF_in_entryRulePercentage3696);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRulePercentage"
+
+
+ // $ANTLR start "rulePercentage"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1630:1: rulePercentage returns [EObject current=null] : ( ( (lv_op_0_0= ruleUnaryOperator ) )? ( (lv_value_1_0= RULE_T_NUM ) ) ( (lv_unit_2_0= RULE_PC_UNIT ) ) ) ;
+ public final EObject rulePercentage() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_value_1_0=null;
+ Token lv_unit_2_0=null;
+ EObject lv_op_0_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1633:28: ( ( ( (lv_op_0_0= ruleUnaryOperator ) )? ( (lv_value_1_0= RULE_T_NUM ) ) ( (lv_unit_2_0= RULE_PC_UNIT ) ) ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1634:1: ( ( (lv_op_0_0= ruleUnaryOperator ) )? ( (lv_value_1_0= RULE_T_NUM ) ) ( (lv_unit_2_0= RULE_PC_UNIT ) ) )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1634:1: ( ( (lv_op_0_0= ruleUnaryOperator ) )? ( (lv_value_1_0= RULE_T_NUM ) ) ( (lv_unit_2_0= RULE_PC_UNIT ) ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1634:2: ( (lv_op_0_0= ruleUnaryOperator ) )? ( (lv_value_1_0= RULE_T_NUM ) ) ( (lv_unit_2_0= RULE_PC_UNIT ) )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1634:2: ( (lv_op_0_0= ruleUnaryOperator ) )?
+ int alt64=2;
+ int LA64_0 = input.LA(1);
+
+ if ( ((LA64_0>=38 && LA64_0<=39)) ) {
+ alt64=1;
+ }
+ switch (alt64) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1635:1: (lv_op_0_0= ruleUnaryOperator )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1635:1: (lv_op_0_0= ruleUnaryOperator )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1636:3: lv_op_0_0= ruleUnaryOperator
+ {
+
+ newCompositeNode(grammarAccess.getPercentageAccess().getOpUnaryOperatorParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleUnaryOperator_in_rulePercentage3742);
+ lv_op_0_0=ruleUnaryOperator();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getPercentageRule());
+ }
+ set(
+ current,
+ "op",
+ lv_op_0_0,
+ "UnaryOperator");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1652:3: ( (lv_value_1_0= RULE_T_NUM ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1653:1: (lv_value_1_0= RULE_T_NUM )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1653:1: (lv_value_1_0= RULE_T_NUM )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1654:3: lv_value_1_0= RULE_T_NUM
+ {
+ lv_value_1_0=(Token)match(input,RULE_T_NUM,FOLLOW_RULE_T_NUM_in_rulePercentage3760);
+
+ newLeafNode(lv_value_1_0, grammarAccess.getPercentageAccess().getValueT_NUMTerminalRuleCall_1_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getPercentageRule());
+ }
+ setWithLastConsumed(
+ current,
+ "value",
+ lv_value_1_0,
+ "T_NUM");
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1670:2: ( (lv_unit_2_0= RULE_PC_UNIT ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1671:1: (lv_unit_2_0= RULE_PC_UNIT )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1671:1: (lv_unit_2_0= RULE_PC_UNIT )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1672:3: lv_unit_2_0= RULE_PC_UNIT
+ {
+ lv_unit_2_0=(Token)match(input,RULE_PC_UNIT,FOLLOW_RULE_PC_UNIT_in_rulePercentage3782);
+
+ newLeafNode(lv_unit_2_0, grammarAccess.getPercentageAccess().getUnitPC_UNITTerminalRuleCall_2_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getPercentageRule());
+ }
+ setWithLastConsumed(
+ current,
+ "unit",
+ lv_unit_2_0,
+ "PC_UNIT");
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "rulePercentage"
+
+
+ // $ANTLR start "entryRuleLength"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1696:1: entryRuleLength returns [EObject current=null] : iv_ruleLength= ruleLength EOF ;
+ public final EObject entryRuleLength() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleLength = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1697:2: (iv_ruleLength= ruleLength EOF )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1698:2: iv_ruleLength= ruleLength EOF
+ {
+ newCompositeNode(grammarAccess.getLengthRule());
+ pushFollow(FOLLOW_ruleLength_in_entryRuleLength3823);
+ iv_ruleLength=ruleLength();
+
+ state._fsp--;
+
+ current =iv_ruleLength;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleLength3833);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleLength"
+
+
+ // $ANTLR start "ruleLength"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1705:1: ruleLength returns [EObject current=null] : ( ( (lv_op_0_0= ruleUnaryOperator ) )? ( (lv_value_1_0= RULE_T_NUM ) ) ( (lv_unit_2_0= RULE_LEN_UNIT ) ) ) ;
+ public final EObject ruleLength() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_value_1_0=null;
+ Token lv_unit_2_0=null;
+ EObject lv_op_0_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1708:28: ( ( ( (lv_op_0_0= ruleUnaryOperator ) )? ( (lv_value_1_0= RULE_T_NUM ) ) ( (lv_unit_2_0= RULE_LEN_UNIT ) ) ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1709:1: ( ( (lv_op_0_0= ruleUnaryOperator ) )? ( (lv_value_1_0= RULE_T_NUM ) ) ( (lv_unit_2_0= RULE_LEN_UNIT ) ) )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1709:1: ( ( (lv_op_0_0= ruleUnaryOperator ) )? ( (lv_value_1_0= RULE_T_NUM ) ) ( (lv_unit_2_0= RULE_LEN_UNIT ) ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1709:2: ( (lv_op_0_0= ruleUnaryOperator ) )? ( (lv_value_1_0= RULE_T_NUM ) ) ( (lv_unit_2_0= RULE_LEN_UNIT ) )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1709:2: ( (lv_op_0_0= ruleUnaryOperator ) )?
+ int alt65=2;
+ int LA65_0 = input.LA(1);
+
+ if ( ((LA65_0>=38 && LA65_0<=39)) ) {
+ alt65=1;
+ }
+ switch (alt65) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1710:1: (lv_op_0_0= ruleUnaryOperator )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1710:1: (lv_op_0_0= ruleUnaryOperator )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1711:3: lv_op_0_0= ruleUnaryOperator
+ {
+
+ newCompositeNode(grammarAccess.getLengthAccess().getOpUnaryOperatorParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleUnaryOperator_in_ruleLength3879);
+ lv_op_0_0=ruleUnaryOperator();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getLengthRule());
+ }
+ set(
+ current,
+ "op",
+ lv_op_0_0,
+ "UnaryOperator");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1727:3: ( (lv_value_1_0= RULE_T_NUM ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1728:1: (lv_value_1_0= RULE_T_NUM )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1728:1: (lv_value_1_0= RULE_T_NUM )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1729:3: lv_value_1_0= RULE_T_NUM
+ {
+ lv_value_1_0=(Token)match(input,RULE_T_NUM,FOLLOW_RULE_T_NUM_in_ruleLength3897);
+
+ newLeafNode(lv_value_1_0, grammarAccess.getLengthAccess().getValueT_NUMTerminalRuleCall_1_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getLengthRule());
+ }
+ setWithLastConsumed(
+ current,
+ "value",
+ lv_value_1_0,
+ "T_NUM");
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1745:2: ( (lv_unit_2_0= RULE_LEN_UNIT ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1746:1: (lv_unit_2_0= RULE_LEN_UNIT )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1746:1: (lv_unit_2_0= RULE_LEN_UNIT )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1747:3: lv_unit_2_0= RULE_LEN_UNIT
+ {
+ lv_unit_2_0=(Token)match(input,RULE_LEN_UNIT,FOLLOW_RULE_LEN_UNIT_in_ruleLength3919);
+
+ newLeafNode(lv_unit_2_0, grammarAccess.getLengthAccess().getUnitLEN_UNITTerminalRuleCall_2_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getLengthRule());
+ }
+ setWithLastConsumed(
+ current,
+ "unit",
+ lv_unit_2_0,
+ "LEN_UNIT");
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleLength"
+
+
+ // $ANTLR start "entryRuleEms"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1771:1: entryRuleEms returns [EObject current=null] : iv_ruleEms= ruleEms EOF ;
+ public final EObject entryRuleEms() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleEms = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1772:2: (iv_ruleEms= ruleEms EOF )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1773:2: iv_ruleEms= ruleEms EOF
+ {
+ newCompositeNode(grammarAccess.getEmsRule());
+ pushFollow(FOLLOW_ruleEms_in_entryRuleEms3960);
+ iv_ruleEms=ruleEms();
+
+ state._fsp--;
+
+ current =iv_ruleEms;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleEms3970);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleEms"
+
+
+ // $ANTLR start "ruleEms"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1780:1: ruleEms returns [EObject current=null] : ( ( (lv_op_0_0= ruleUnaryOperator ) )? ( (lv_value_1_0= RULE_T_NUM ) ) ( (lv_unit_2_0= RULE_EM_UNIT ) ) ) ;
+ public final EObject ruleEms() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_value_1_0=null;
+ Token lv_unit_2_0=null;
+ EObject lv_op_0_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1783:28: ( ( ( (lv_op_0_0= ruleUnaryOperator ) )? ( (lv_value_1_0= RULE_T_NUM ) ) ( (lv_unit_2_0= RULE_EM_UNIT ) ) ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1784:1: ( ( (lv_op_0_0= ruleUnaryOperator ) )? ( (lv_value_1_0= RULE_T_NUM ) ) ( (lv_unit_2_0= RULE_EM_UNIT ) ) )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1784:1: ( ( (lv_op_0_0= ruleUnaryOperator ) )? ( (lv_value_1_0= RULE_T_NUM ) ) ( (lv_unit_2_0= RULE_EM_UNIT ) ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1784:2: ( (lv_op_0_0= ruleUnaryOperator ) )? ( (lv_value_1_0= RULE_T_NUM ) ) ( (lv_unit_2_0= RULE_EM_UNIT ) )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1784:2: ( (lv_op_0_0= ruleUnaryOperator ) )?
+ int alt66=2;
+ int LA66_0 = input.LA(1);
+
+ if ( ((LA66_0>=38 && LA66_0<=39)) ) {
+ alt66=1;
+ }
+ switch (alt66) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1785:1: (lv_op_0_0= ruleUnaryOperator )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1785:1: (lv_op_0_0= ruleUnaryOperator )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1786:3: lv_op_0_0= ruleUnaryOperator
+ {
+
+ newCompositeNode(grammarAccess.getEmsAccess().getOpUnaryOperatorParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleUnaryOperator_in_ruleEms4016);
+ lv_op_0_0=ruleUnaryOperator();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getEmsRule());
+ }
+ set(
+ current,
+ "op",
+ lv_op_0_0,
+ "UnaryOperator");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1802:3: ( (lv_value_1_0= RULE_T_NUM ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1803:1: (lv_value_1_0= RULE_T_NUM )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1803:1: (lv_value_1_0= RULE_T_NUM )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1804:3: lv_value_1_0= RULE_T_NUM
+ {
+ lv_value_1_0=(Token)match(input,RULE_T_NUM,FOLLOW_RULE_T_NUM_in_ruleEms4034);
+
+ newLeafNode(lv_value_1_0, grammarAccess.getEmsAccess().getValueT_NUMTerminalRuleCall_1_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getEmsRule());
+ }
+ setWithLastConsumed(
+ current,
+ "value",
+ lv_value_1_0,
+ "T_NUM");
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1820:2: ( (lv_unit_2_0= RULE_EM_UNIT ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1821:1: (lv_unit_2_0= RULE_EM_UNIT )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1821:1: (lv_unit_2_0= RULE_EM_UNIT )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1822:3: lv_unit_2_0= RULE_EM_UNIT
+ {
+ lv_unit_2_0=(Token)match(input,RULE_EM_UNIT,FOLLOW_RULE_EM_UNIT_in_ruleEms4056);
+
+ newLeafNode(lv_unit_2_0, grammarAccess.getEmsAccess().getUnitEM_UNITTerminalRuleCall_2_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getEmsRule());
+ }
+ setWithLastConsumed(
+ current,
+ "unit",
+ lv_unit_2_0,
+ "EM_UNIT");
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleEms"
+
+
+ // $ANTLR start "entryRuleExs"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1846:1: entryRuleExs returns [EObject current=null] : iv_ruleExs= ruleExs EOF ;
+ public final EObject entryRuleExs() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleExs = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1847:2: (iv_ruleExs= ruleExs EOF )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1848:2: iv_ruleExs= ruleExs EOF
+ {
+ newCompositeNode(grammarAccess.getExsRule());
+ pushFollow(FOLLOW_ruleExs_in_entryRuleExs4097);
+ iv_ruleExs=ruleExs();
+
+ state._fsp--;
+
+ current =iv_ruleExs;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleExs4107);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleExs"
+
+
+ // $ANTLR start "ruleExs"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1855:1: ruleExs returns [EObject current=null] : ( ( (lv_op_0_0= ruleUnaryOperator ) )? ( (lv_value_1_0= RULE_T_NUM ) ) ( (lv_unit_2_0= RULE_EX_UNIT ) ) ) ;
+ public final EObject ruleExs() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_value_1_0=null;
+ Token lv_unit_2_0=null;
+ EObject lv_op_0_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1858:28: ( ( ( (lv_op_0_0= ruleUnaryOperator ) )? ( (lv_value_1_0= RULE_T_NUM ) ) ( (lv_unit_2_0= RULE_EX_UNIT ) ) ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1859:1: ( ( (lv_op_0_0= ruleUnaryOperator ) )? ( (lv_value_1_0= RULE_T_NUM ) ) ( (lv_unit_2_0= RULE_EX_UNIT ) ) )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1859:1: ( ( (lv_op_0_0= ruleUnaryOperator ) )? ( (lv_value_1_0= RULE_T_NUM ) ) ( (lv_unit_2_0= RULE_EX_UNIT ) ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1859:2: ( (lv_op_0_0= ruleUnaryOperator ) )? ( (lv_value_1_0= RULE_T_NUM ) ) ( (lv_unit_2_0= RULE_EX_UNIT ) )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1859:2: ( (lv_op_0_0= ruleUnaryOperator ) )?
+ int alt67=2;
+ int LA67_0 = input.LA(1);
+
+ if ( ((LA67_0>=38 && LA67_0<=39)) ) {
+ alt67=1;
+ }
+ switch (alt67) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1860:1: (lv_op_0_0= ruleUnaryOperator )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1860:1: (lv_op_0_0= ruleUnaryOperator )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1861:3: lv_op_0_0= ruleUnaryOperator
+ {
+
+ newCompositeNode(grammarAccess.getExsAccess().getOpUnaryOperatorParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleUnaryOperator_in_ruleExs4153);
+ lv_op_0_0=ruleUnaryOperator();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getExsRule());
+ }
+ set(
+ current,
+ "op",
+ lv_op_0_0,
+ "UnaryOperator");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1877:3: ( (lv_value_1_0= RULE_T_NUM ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1878:1: (lv_value_1_0= RULE_T_NUM )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1878:1: (lv_value_1_0= RULE_T_NUM )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1879:3: lv_value_1_0= RULE_T_NUM
+ {
+ lv_value_1_0=(Token)match(input,RULE_T_NUM,FOLLOW_RULE_T_NUM_in_ruleExs4171);
+
+ newLeafNode(lv_value_1_0, grammarAccess.getExsAccess().getValueT_NUMTerminalRuleCall_1_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getExsRule());
+ }
+ setWithLastConsumed(
+ current,
+ "value",
+ lv_value_1_0,
+ "T_NUM");
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1895:2: ( (lv_unit_2_0= RULE_EX_UNIT ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1896:1: (lv_unit_2_0= RULE_EX_UNIT )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1896:1: (lv_unit_2_0= RULE_EX_UNIT )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1897:3: lv_unit_2_0= RULE_EX_UNIT
+ {
+ lv_unit_2_0=(Token)match(input,RULE_EX_UNIT,FOLLOW_RULE_EX_UNIT_in_ruleExs4193);
+
+ newLeafNode(lv_unit_2_0, grammarAccess.getExsAccess().getUnitEX_UNITTerminalRuleCall_2_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getExsRule());
+ }
+ setWithLastConsumed(
+ current,
+ "unit",
+ lv_unit_2_0,
+ "EX_UNIT");
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleExs"
+
+
+ // $ANTLR start "entryRuleAngle"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1921:1: entryRuleAngle returns [EObject current=null] : iv_ruleAngle= ruleAngle EOF ;
+ public final EObject entryRuleAngle() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleAngle = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1922:2: (iv_ruleAngle= ruleAngle EOF )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1923:2: iv_ruleAngle= ruleAngle EOF
+ {
+ newCompositeNode(grammarAccess.getAngleRule());
+ pushFollow(FOLLOW_ruleAngle_in_entryRuleAngle4234);
+ iv_ruleAngle=ruleAngle();
+
+ state._fsp--;
+
+ current =iv_ruleAngle;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleAngle4244);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleAngle"
+
+
+ // $ANTLR start "ruleAngle"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1930:1: ruleAngle returns [EObject current=null] : ( ( (lv_op_0_0= ruleUnaryOperator ) )? ( (lv_value_1_0= RULE_T_NUM ) ) ( (lv_unit_2_0= RULE_ANGLE_UNIT ) ) ) ;
+ public final EObject ruleAngle() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_value_1_0=null;
+ Token lv_unit_2_0=null;
+ EObject lv_op_0_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1933:28: ( ( ( (lv_op_0_0= ruleUnaryOperator ) )? ( (lv_value_1_0= RULE_T_NUM ) ) ( (lv_unit_2_0= RULE_ANGLE_UNIT ) ) ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1934:1: ( ( (lv_op_0_0= ruleUnaryOperator ) )? ( (lv_value_1_0= RULE_T_NUM ) ) ( (lv_unit_2_0= RULE_ANGLE_UNIT ) ) )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1934:1: ( ( (lv_op_0_0= ruleUnaryOperator ) )? ( (lv_value_1_0= RULE_T_NUM ) ) ( (lv_unit_2_0= RULE_ANGLE_UNIT ) ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1934:2: ( (lv_op_0_0= ruleUnaryOperator ) )? ( (lv_value_1_0= RULE_T_NUM ) ) ( (lv_unit_2_0= RULE_ANGLE_UNIT ) )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1934:2: ( (lv_op_0_0= ruleUnaryOperator ) )?
+ int alt68=2;
+ int LA68_0 = input.LA(1);
+
+ if ( ((LA68_0>=38 && LA68_0<=39)) ) {
+ alt68=1;
+ }
+ switch (alt68) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1935:1: (lv_op_0_0= ruleUnaryOperator )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1935:1: (lv_op_0_0= ruleUnaryOperator )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1936:3: lv_op_0_0= ruleUnaryOperator
+ {
+
+ newCompositeNode(grammarAccess.getAngleAccess().getOpUnaryOperatorParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleUnaryOperator_in_ruleAngle4290);
+ lv_op_0_0=ruleUnaryOperator();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getAngleRule());
+ }
+ set(
+ current,
+ "op",
+ lv_op_0_0,
+ "UnaryOperator");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1952:3: ( (lv_value_1_0= RULE_T_NUM ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1953:1: (lv_value_1_0= RULE_T_NUM )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1953:1: (lv_value_1_0= RULE_T_NUM )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1954:3: lv_value_1_0= RULE_T_NUM
+ {
+ lv_value_1_0=(Token)match(input,RULE_T_NUM,FOLLOW_RULE_T_NUM_in_ruleAngle4308);
+
+ newLeafNode(lv_value_1_0, grammarAccess.getAngleAccess().getValueT_NUMTerminalRuleCall_1_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getAngleRule());
+ }
+ setWithLastConsumed(
+ current,
+ "value",
+ lv_value_1_0,
+ "T_NUM");
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1970:2: ( (lv_unit_2_0= RULE_ANGLE_UNIT ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1971:1: (lv_unit_2_0= RULE_ANGLE_UNIT )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1971:1: (lv_unit_2_0= RULE_ANGLE_UNIT )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1972:3: lv_unit_2_0= RULE_ANGLE_UNIT
+ {
+ lv_unit_2_0=(Token)match(input,RULE_ANGLE_UNIT,FOLLOW_RULE_ANGLE_UNIT_in_ruleAngle4330);
+
+ newLeafNode(lv_unit_2_0, grammarAccess.getAngleAccess().getUnitANGLE_UNITTerminalRuleCall_2_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getAngleRule());
+ }
+ setWithLastConsumed(
+ current,
+ "unit",
+ lv_unit_2_0,
+ "ANGLE_UNIT");
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleAngle"
+
+
+ // $ANTLR start "entryRuleTime"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1996:1: entryRuleTime returns [EObject current=null] : iv_ruleTime= ruleTime EOF ;
+ public final EObject entryRuleTime() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleTime = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1997:2: (iv_ruleTime= ruleTime EOF )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:1998:2: iv_ruleTime= ruleTime EOF
+ {
+ newCompositeNode(grammarAccess.getTimeRule());
+ pushFollow(FOLLOW_ruleTime_in_entryRuleTime4371);
+ iv_ruleTime=ruleTime();
+
+ state._fsp--;
+
+ current =iv_ruleTime;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleTime4381);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleTime"
+
+
+ // $ANTLR start "ruleTime"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2005:1: ruleTime returns [EObject current=null] : ( ( (lv_op_0_0= ruleUnaryOperator ) )? ( (lv_value_1_0= RULE_T_NUM ) ) ( (lv_unit_2_0= RULE_TIME_UNIT ) ) ) ;
+ public final EObject ruleTime() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_value_1_0=null;
+ Token lv_unit_2_0=null;
+ EObject lv_op_0_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2008:28: ( ( ( (lv_op_0_0= ruleUnaryOperator ) )? ( (lv_value_1_0= RULE_T_NUM ) ) ( (lv_unit_2_0= RULE_TIME_UNIT ) ) ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2009:1: ( ( (lv_op_0_0= ruleUnaryOperator ) )? ( (lv_value_1_0= RULE_T_NUM ) ) ( (lv_unit_2_0= RULE_TIME_UNIT ) ) )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2009:1: ( ( (lv_op_0_0= ruleUnaryOperator ) )? ( (lv_value_1_0= RULE_T_NUM ) ) ( (lv_unit_2_0= RULE_TIME_UNIT ) ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2009:2: ( (lv_op_0_0= ruleUnaryOperator ) )? ( (lv_value_1_0= RULE_T_NUM ) ) ( (lv_unit_2_0= RULE_TIME_UNIT ) )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2009:2: ( (lv_op_0_0= ruleUnaryOperator ) )?
+ int alt69=2;
+ int LA69_0 = input.LA(1);
+
+ if ( ((LA69_0>=38 && LA69_0<=39)) ) {
+ alt69=1;
+ }
+ switch (alt69) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2010:1: (lv_op_0_0= ruleUnaryOperator )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2010:1: (lv_op_0_0= ruleUnaryOperator )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2011:3: lv_op_0_0= ruleUnaryOperator
+ {
+
+ newCompositeNode(grammarAccess.getTimeAccess().getOpUnaryOperatorParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleUnaryOperator_in_ruleTime4427);
+ lv_op_0_0=ruleUnaryOperator();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getTimeRule());
+ }
+ set(
+ current,
+ "op",
+ lv_op_0_0,
+ "UnaryOperator");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2027:3: ( (lv_value_1_0= RULE_T_NUM ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2028:1: (lv_value_1_0= RULE_T_NUM )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2028:1: (lv_value_1_0= RULE_T_NUM )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2029:3: lv_value_1_0= RULE_T_NUM
+ {
+ lv_value_1_0=(Token)match(input,RULE_T_NUM,FOLLOW_RULE_T_NUM_in_ruleTime4445);
+
+ newLeafNode(lv_value_1_0, grammarAccess.getTimeAccess().getValueT_NUMTerminalRuleCall_1_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getTimeRule());
+ }
+ setWithLastConsumed(
+ current,
+ "value",
+ lv_value_1_0,
+ "T_NUM");
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2045:2: ( (lv_unit_2_0= RULE_TIME_UNIT ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2046:1: (lv_unit_2_0= RULE_TIME_UNIT )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2046:1: (lv_unit_2_0= RULE_TIME_UNIT )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2047:3: lv_unit_2_0= RULE_TIME_UNIT
+ {
+ lv_unit_2_0=(Token)match(input,RULE_TIME_UNIT,FOLLOW_RULE_TIME_UNIT_in_ruleTime4467);
+
+ newLeafNode(lv_unit_2_0, grammarAccess.getTimeAccess().getUnitTIME_UNITTerminalRuleCall_2_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getTimeRule());
+ }
+ setWithLastConsumed(
+ current,
+ "unit",
+ lv_unit_2_0,
+ "TIME_UNIT");
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleTime"
+
+
+ // $ANTLR start "entryRuleFrequency"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2071:1: entryRuleFrequency returns [EObject current=null] : iv_ruleFrequency= ruleFrequency EOF ;
+ public final EObject entryRuleFrequency() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleFrequency = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2072:2: (iv_ruleFrequency= ruleFrequency EOF )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2073:2: iv_ruleFrequency= ruleFrequency EOF
+ {
+ newCompositeNode(grammarAccess.getFrequencyRule());
+ pushFollow(FOLLOW_ruleFrequency_in_entryRuleFrequency4508);
+ iv_ruleFrequency=ruleFrequency();
+
+ state._fsp--;
+
+ current =iv_ruleFrequency;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleFrequency4518);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleFrequency"
+
+
+ // $ANTLR start "ruleFrequency"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2080:1: ruleFrequency returns [EObject current=null] : ( ( (lv_op_0_0= ruleUnaryOperator ) )? ( (lv_value_1_0= RULE_T_NUM ) ) ( (lv_unit_2_0= RULE_FREQ_UNIT ) ) ) ;
+ public final EObject ruleFrequency() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_value_1_0=null;
+ Token lv_unit_2_0=null;
+ EObject lv_op_0_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2083:28: ( ( ( (lv_op_0_0= ruleUnaryOperator ) )? ( (lv_value_1_0= RULE_T_NUM ) ) ( (lv_unit_2_0= RULE_FREQ_UNIT ) ) ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2084:1: ( ( (lv_op_0_0= ruleUnaryOperator ) )? ( (lv_value_1_0= RULE_T_NUM ) ) ( (lv_unit_2_0= RULE_FREQ_UNIT ) ) )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2084:1: ( ( (lv_op_0_0= ruleUnaryOperator ) )? ( (lv_value_1_0= RULE_T_NUM ) ) ( (lv_unit_2_0= RULE_FREQ_UNIT ) ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2084:2: ( (lv_op_0_0= ruleUnaryOperator ) )? ( (lv_value_1_0= RULE_T_NUM ) ) ( (lv_unit_2_0= RULE_FREQ_UNIT ) )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2084:2: ( (lv_op_0_0= ruleUnaryOperator ) )?
+ int alt70=2;
+ int LA70_0 = input.LA(1);
+
+ if ( ((LA70_0>=38 && LA70_0<=39)) ) {
+ alt70=1;
+ }
+ switch (alt70) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2085:1: (lv_op_0_0= ruleUnaryOperator )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2085:1: (lv_op_0_0= ruleUnaryOperator )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2086:3: lv_op_0_0= ruleUnaryOperator
+ {
+
+ newCompositeNode(grammarAccess.getFrequencyAccess().getOpUnaryOperatorParserRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleUnaryOperator_in_ruleFrequency4564);
+ lv_op_0_0=ruleUnaryOperator();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getFrequencyRule());
+ }
+ set(
+ current,
+ "op",
+ lv_op_0_0,
+ "UnaryOperator");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2102:3: ( (lv_value_1_0= RULE_T_NUM ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2103:1: (lv_value_1_0= RULE_T_NUM )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2103:1: (lv_value_1_0= RULE_T_NUM )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2104:3: lv_value_1_0= RULE_T_NUM
+ {
+ lv_value_1_0=(Token)match(input,RULE_T_NUM,FOLLOW_RULE_T_NUM_in_ruleFrequency4582);
+
+ newLeafNode(lv_value_1_0, grammarAccess.getFrequencyAccess().getValueT_NUMTerminalRuleCall_1_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getFrequencyRule());
+ }
+ setWithLastConsumed(
+ current,
+ "value",
+ lv_value_1_0,
+ "T_NUM");
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2120:2: ( (lv_unit_2_0= RULE_FREQ_UNIT ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2121:1: (lv_unit_2_0= RULE_FREQ_UNIT )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2121:1: (lv_unit_2_0= RULE_FREQ_UNIT )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2122:3: lv_unit_2_0= RULE_FREQ_UNIT
+ {
+ lv_unit_2_0=(Token)match(input,RULE_FREQ_UNIT,FOLLOW_RULE_FREQ_UNIT_in_ruleFrequency4604);
+
+ newLeafNode(lv_unit_2_0, grammarAccess.getFrequencyAccess().getUnitFREQ_UNITTerminalRuleCall_2_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getFrequencyRule());
+ }
+ setWithLastConsumed(
+ current,
+ "unit",
+ lv_unit_2_0,
+ "FREQ_UNIT");
+
+
+ }
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleFrequency"
+
+
+ // $ANTLR start "entryRuleUri"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2146: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.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2147:2: (iv_ruleUri= ruleUri EOF )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2148:2: iv_ruleUri= ruleUri EOF
+ {
+ newCompositeNode(grammarAccess.getUriRule());
+ pushFollow(FOLLOW_ruleUri_in_entryRuleUri4645);
+ iv_ruleUri=ruleUri();
+
+ state._fsp--;
+
+ current =iv_ruleUri;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleUri4655);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleUri"
+
+
+ // $ANTLR start "ruleUri"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2155:1: ruleUri returns [EObject current=null] : (otherlv_0= 'url(' (this_WS_1= RULE_WS )? ( (lv_value_2_0= RULE_STRING ) ) (this_WS_3= RULE_WS )? otherlv_4= ')' ) ;
+ public final EObject ruleUri() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token this_WS_1=null;
+ Token lv_value_2_0=null;
+ Token this_WS_3=null;
+ Token otherlv_4=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2158:28: ( (otherlv_0= 'url(' (this_WS_1= RULE_WS )? ( (lv_value_2_0= RULE_STRING ) ) (this_WS_3= RULE_WS )? otherlv_4= ')' ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2159:1: (otherlv_0= 'url(' (this_WS_1= RULE_WS )? ( (lv_value_2_0= RULE_STRING ) ) (this_WS_3= RULE_WS )? otherlv_4= ')' )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2159:1: (otherlv_0= 'url(' (this_WS_1= RULE_WS )? ( (lv_value_2_0= RULE_STRING ) ) (this_WS_3= RULE_WS )? otherlv_4= ')' )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2159:3: otherlv_0= 'url(' (this_WS_1= RULE_WS )? ( (lv_value_2_0= RULE_STRING ) ) (this_WS_3= RULE_WS )? otherlv_4= ')'
+ {
+ otherlv_0=(Token)match(input,34,FOLLOW_34_in_ruleUri4692);
+
+ newLeafNode(otherlv_0, grammarAccess.getUriAccess().getUrlKeyword_0());
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2163:1: (this_WS_1= RULE_WS )?
+ int alt71=2;
+ int LA71_0 = input.LA(1);
+
+ if ( (LA71_0==RULE_WS) ) {
+ alt71=1;
+ }
+ switch (alt71) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2163:2: this_WS_1= RULE_WS
+ {
+ this_WS_1=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleUri4704);
+
+ newLeafNode(this_WS_1, grammarAccess.getUriAccess().getWSTerminalRuleCall_1());
+
+
+ }
+ break;
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2167:3: ( (lv_value_2_0= RULE_STRING ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2168:1: (lv_value_2_0= RULE_STRING )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2168:1: (lv_value_2_0= RULE_STRING )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2169:3: lv_value_2_0= RULE_STRING
+ {
+ lv_value_2_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleUri4722);
+
+ newLeafNode(lv_value_2_0, grammarAccess.getUriAccess().getValueSTRINGTerminalRuleCall_2_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getUriRule());
+ }
+ setWithLastConsumed(
+ current,
+ "value",
+ lv_value_2_0,
+ "STRING");
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2185:2: (this_WS_3= RULE_WS )?
+ int alt72=2;
+ int LA72_0 = input.LA(1);
+
+ if ( (LA72_0==RULE_WS) ) {
+ alt72=1;
+ }
+ switch (alt72) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2185:3: this_WS_3= RULE_WS
+ {
+ this_WS_3=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleUri4739);
+
+ newLeafNode(this_WS_3, grammarAccess.getUriAccess().getWSTerminalRuleCall_3());
+
+
+ }
+ break;
+
+ }
+
+ otherlv_4=(Token)match(input,33,FOLLOW_33_in_ruleUri4752);
+
+ newLeafNode(otherlv_4, grammarAccess.getUriAccess().getRightParenthesisKeyword_4());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleUri"
+
+
+ // $ANTLR start "entryRuleStringValue"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2201:1: entryRuleStringValue returns [EObject current=null] : iv_ruleStringValue= ruleStringValue EOF ;
+ public final EObject entryRuleStringValue() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleStringValue = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2202:2: (iv_ruleStringValue= ruleStringValue EOF )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2203:2: iv_ruleStringValue= ruleStringValue EOF
+ {
+ newCompositeNode(grammarAccess.getStringValueRule());
+ pushFollow(FOLLOW_ruleStringValue_in_entryRuleStringValue4788);
+ iv_ruleStringValue=ruleStringValue();
+
+ state._fsp--;
+
+ current =iv_ruleStringValue;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleStringValue4798);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleStringValue"
+
+
+ // $ANTLR start "ruleStringValue"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2210:1: ruleStringValue returns [EObject current=null] : ( (lv_value_0_0= RULE_STRING ) ) ;
+ public final EObject ruleStringValue() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_value_0_0=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2213:28: ( ( (lv_value_0_0= RULE_STRING ) ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2214:1: ( (lv_value_0_0= RULE_STRING ) )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2214:1: ( (lv_value_0_0= RULE_STRING ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2215:1: (lv_value_0_0= RULE_STRING )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2215:1: (lv_value_0_0= RULE_STRING )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2216:3: lv_value_0_0= RULE_STRING
+ {
+ lv_value_0_0=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleStringValue4839);
+
+ newLeafNode(lv_value_0_0, grammarAccess.getStringValueAccess().getValueSTRINGTerminalRuleCall_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getStringValueRule());
+ }
+ setWithLastConsumed(
+ current,
+ "value",
+ lv_value_0_0,
+ "STRING");
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleStringValue"
+
+
+ // $ANTLR start "entryRuleHexColor"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2240:1: entryRuleHexColor returns [EObject current=null] : iv_ruleHexColor= ruleHexColor EOF ;
+ public final EObject entryRuleHexColor() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleHexColor = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2241:2: (iv_ruleHexColor= ruleHexColor EOF )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2242:2: iv_ruleHexColor= ruleHexColor EOF
+ {
+ newCompositeNode(grammarAccess.getHexColorRule());
+ pushFollow(FOLLOW_ruleHexColor_in_entryRuleHexColor4879);
+ iv_ruleHexColor=ruleHexColor();
+
+ state._fsp--;
+
+ current =iv_ruleHexColor;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleHexColor4889);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleHexColor"
+
+
+ // $ANTLR start "ruleHexColor"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2249:1: ruleHexColor returns [EObject current=null] : ( (lv_value_0_0= RULE_HASH ) ) ;
+ public final EObject ruleHexColor() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_value_0_0=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2252:28: ( ( (lv_value_0_0= RULE_HASH ) ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2253:1: ( (lv_value_0_0= RULE_HASH ) )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2253:1: ( (lv_value_0_0= RULE_HASH ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2254:1: (lv_value_0_0= RULE_HASH )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2254:1: (lv_value_0_0= RULE_HASH )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2255:3: lv_value_0_0= RULE_HASH
+ {
+ lv_value_0_0=(Token)match(input,RULE_HASH,FOLLOW_RULE_HASH_in_ruleHexColor4930);
+
+ newLeafNode(lv_value_0_0, grammarAccess.getHexColorAccess().getValueHASHTerminalRuleCall_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getHexColorRule());
+ }
+ setWithLastConsumed(
+ current,
+ "value",
+ lv_value_0_0,
+ "HASH");
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleHexColor"
+
+
+ // $ANTLR start "entryRuleOperator"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2279:1: entryRuleOperator returns [String current=null] : iv_ruleOperator= ruleOperator EOF ;
+ public final String entryRuleOperator() throws RecognitionException {
+ String current = null;
+
+ AntlrDatatypeRuleToken iv_ruleOperator = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2280:2: (iv_ruleOperator= ruleOperator EOF )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2281:2: iv_ruleOperator= ruleOperator EOF
+ {
+ newCompositeNode(grammarAccess.getOperatorRule());
+ pushFollow(FOLLOW_ruleOperator_in_entryRuleOperator4971);
+ iv_ruleOperator=ruleOperator();
+
+ state._fsp--;
+
+ current =iv_ruleOperator.getText();
+ match(input,EOF,FOLLOW_EOF_in_entryRuleOperator4982);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleOperator"
+
+
+ // $ANTLR start "ruleOperator"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2288:1: ruleOperator returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '/' (this_WS_1= RULE_WS )* ) | (kw= ',' (this_WS_3= RULE_WS )* ) ) ;
+ public final AntlrDatatypeRuleToken ruleOperator() throws RecognitionException {
+ AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
+
+ Token kw=null;
+ Token this_WS_1=null;
+ Token this_WS_3=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2291:28: ( ( (kw= '/' (this_WS_1= RULE_WS )* ) | (kw= ',' (this_WS_3= RULE_WS )* ) ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2292:1: ( (kw= '/' (this_WS_1= RULE_WS )* ) | (kw= ',' (this_WS_3= RULE_WS )* ) )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2292:1: ( (kw= '/' (this_WS_1= RULE_WS )* ) | (kw= ',' (this_WS_3= RULE_WS )* ) )
+ int alt75=2;
+ int LA75_0 = input.LA(1);
+
+ if ( (LA75_0==35) ) {
+ alt75=1;
+ }
+ else if ( (LA75_0==25) ) {
+ alt75=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 75, 0, input);
+
+ throw nvae;
+ }
+ switch (alt75) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2292:2: (kw= '/' (this_WS_1= RULE_WS )* )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2292:2: (kw= '/' (this_WS_1= RULE_WS )* )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2293:2: kw= '/' (this_WS_1= RULE_WS )*
+ {
+ kw=(Token)match(input,35,FOLLOW_35_in_ruleOperator5021);
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOperatorAccess().getSolidusKeyword_0_0());
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2298:1: (this_WS_1= RULE_WS )*
+ loop73:
+ do {
+ int alt73=2;
+ int LA73_0 = input.LA(1);
+
+ if ( (LA73_0==RULE_WS) ) {
+ alt73=1;
+ }
+
+
+ switch (alt73) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2298:6: this_WS_1= RULE_WS
+ {
+ this_WS_1=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleOperator5037);
+
+ current.merge(this_WS_1);
+
+
+ newLeafNode(this_WS_1, grammarAccess.getOperatorAccess().getWSTerminalRuleCall_0_1());
+
+
+ }
+ break;
+
+ default :
+ break loop73;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2306:6: (kw= ',' (this_WS_3= RULE_WS )* )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2306:6: (kw= ',' (this_WS_3= RULE_WS )* )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2307:2: kw= ',' (this_WS_3= RULE_WS )*
+ {
+ kw=(Token)match(input,25,FOLLOW_25_in_ruleOperator5065);
+
+ current.merge(kw);
+ newLeafNode(kw, grammarAccess.getOperatorAccess().getCommaKeyword_1_0());
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2312:1: (this_WS_3= RULE_WS )*
+ loop74:
+ do {
+ int alt74=2;
+ int LA74_0 = input.LA(1);
+
+ if ( (LA74_0==RULE_WS) ) {
+ alt74=1;
+ }
+
+
+ switch (alt74) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2312:6: this_WS_3= RULE_WS
+ {
+ this_WS_3=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleOperator5081);
+
+ current.merge(this_WS_3);
+
+
+ newLeafNode(this_WS_3, grammarAccess.getOperatorAccess().getWSTerminalRuleCall_1_1());
+
+
+ }
+ break;
+
+ default :
+ break loop74;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleOperator"
+
+
+ // $ANTLR start "entryRuleClass"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2327:1: entryRuleClass returns [EObject current=null] : iv_ruleClass= ruleClass EOF ;
+ public final EObject entryRuleClass() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleClass = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2328:2: (iv_ruleClass= ruleClass EOF )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2329:2: iv_ruleClass= ruleClass EOF
+ {
+ newCompositeNode(grammarAccess.getClassRule());
+ pushFollow(FOLLOW_ruleClass_in_entryRuleClass5129);
+ iv_ruleClass=ruleClass();
+
+ state._fsp--;
+
+ current =iv_ruleClass;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleClass5139);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleClass"
+
+
+ // $ANTLR start "ruleClass"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2336:1: ruleClass returns [EObject current=null] : ( (lv_class_0_0= RULE_T_CLASS ) ) ;
+ public final EObject ruleClass() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_class_0_0=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2339:28: ( ( (lv_class_0_0= RULE_T_CLASS ) ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2340:1: ( (lv_class_0_0= RULE_T_CLASS ) )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2340:1: ( (lv_class_0_0= RULE_T_CLASS ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2341:1: (lv_class_0_0= RULE_T_CLASS )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2341:1: (lv_class_0_0= RULE_T_CLASS )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2342:3: lv_class_0_0= RULE_T_CLASS
+ {
+ lv_class_0_0=(Token)match(input,RULE_T_CLASS,FOLLOW_RULE_T_CLASS_in_ruleClass5180);
+
+ newLeafNode(lv_class_0_0, grammarAccess.getClassAccess().getClassT_CLASSTerminalRuleCall_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getClassRule());
+ }
+ setWithLastConsumed(
+ current,
+ "class",
+ lv_class_0_0,
+ "T_CLASS");
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleClass"
+
+
+ // $ANTLR start "entryRuleAttribute"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2366:1: entryRuleAttribute returns [EObject current=null] : iv_ruleAttribute= ruleAttribute EOF ;
+ public final EObject entryRuleAttribute() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleAttribute = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2367:2: (iv_ruleAttribute= ruleAttribute EOF )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2368:2: iv_ruleAttribute= ruleAttribute EOF
+ {
+ newCompositeNode(grammarAccess.getAttributeRule());
+ pushFollow(FOLLOW_ruleAttribute_in_entryRuleAttribute5220);
+ iv_ruleAttribute=ruleAttribute();
+
+ state._fsp--;
+
+ current =iv_ruleAttribute;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleAttribute5230);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleAttribute"
+
+
+ // $ANTLR start "ruleAttribute"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2375:1: ruleAttribute returns [EObject current=null] : (otherlv_0= '[' (this_WS_1= RULE_WS )* ( (lv_name_2_0= RULE_ID ) ) (this_WS_3= RULE_WS )* ( (lv_value_4_0= ruleAttributeValue ) )? otherlv_5= ']' ) ;
+ public final EObject ruleAttribute() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token this_WS_1=null;
+ Token lv_name_2_0=null;
+ Token this_WS_3=null;
+ Token otherlv_5=null;
+ EObject lv_value_4_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2378:28: ( (otherlv_0= '[' (this_WS_1= RULE_WS )* ( (lv_name_2_0= RULE_ID ) ) (this_WS_3= RULE_WS )* ( (lv_value_4_0= ruleAttributeValue ) )? otherlv_5= ']' ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2379:1: (otherlv_0= '[' (this_WS_1= RULE_WS )* ( (lv_name_2_0= RULE_ID ) ) (this_WS_3= RULE_WS )* ( (lv_value_4_0= ruleAttributeValue ) )? otherlv_5= ']' )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2379:1: (otherlv_0= '[' (this_WS_1= RULE_WS )* ( (lv_name_2_0= RULE_ID ) ) (this_WS_3= RULE_WS )* ( (lv_value_4_0= ruleAttributeValue ) )? otherlv_5= ']' )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2379:3: otherlv_0= '[' (this_WS_1= RULE_WS )* ( (lv_name_2_0= RULE_ID ) ) (this_WS_3= RULE_WS )* ( (lv_value_4_0= ruleAttributeValue ) )? otherlv_5= ']'
+ {
+ otherlv_0=(Token)match(input,36,FOLLOW_36_in_ruleAttribute5267);
+
+ newLeafNode(otherlv_0, grammarAccess.getAttributeAccess().getLeftSquareBracketKeyword_0());
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2383:1: (this_WS_1= RULE_WS )*
+ loop76:
+ do {
+ int alt76=2;
+ int LA76_0 = input.LA(1);
+
+ if ( (LA76_0==RULE_WS) ) {
+ alt76=1;
+ }
+
+
+ switch (alt76) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2383:2: this_WS_1= RULE_WS
+ {
+ this_WS_1=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleAttribute5279);
+
+ newLeafNode(this_WS_1, grammarAccess.getAttributeAccess().getWSTerminalRuleCall_1());
+
+
+ }
+ break;
+
+ default :
+ break loop76;
+ }
+ } while (true);
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2387:3: ( (lv_name_2_0= RULE_ID ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2388:1: (lv_name_2_0= RULE_ID )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2388:1: (lv_name_2_0= RULE_ID )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2389:3: lv_name_2_0= RULE_ID
+ {
+ lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleAttribute5297);
+
+ newLeafNode(lv_name_2_0, grammarAccess.getAttributeAccess().getNameIDTerminalRuleCall_2_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getAttributeRule());
+ }
+ setWithLastConsumed(
+ current,
+ "name",
+ lv_name_2_0,
+ "ID");
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2405:2: (this_WS_3= RULE_WS )*
+ loop77:
+ do {
+ int alt77=2;
+ int LA77_0 = input.LA(1);
+
+ if ( (LA77_0==RULE_WS) ) {
+ alt77=1;
+ }
+
+
+ switch (alt77) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2405:3: this_WS_3= RULE_WS
+ {
+ this_WS_3=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleAttribute5314);
+
+ newLeafNode(this_WS_3, grammarAccess.getAttributeAccess().getWSTerminalRuleCall_3());
+
+
+ }
+ break;
+
+ default :
+ break loop77;
+ }
+ } while (true);
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2409:3: ( (lv_value_4_0= ruleAttributeValue ) )?
+ int alt78=2;
+ int LA78_0 = input.LA(1);
+
+ if ( ((LA78_0>=41 && LA78_0<=43)) ) {
+ alt78=1;
+ }
+ switch (alt78) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2410:1: (lv_value_4_0= ruleAttributeValue )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2410:1: (lv_value_4_0= ruleAttributeValue )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2411:3: lv_value_4_0= ruleAttributeValue
+ {
+
+ newCompositeNode(grammarAccess.getAttributeAccess().getValueAttributeValueParserRuleCall_4_0());
+
+ pushFollow(FOLLOW_ruleAttributeValue_in_ruleAttribute5336);
+ lv_value_4_0=ruleAttributeValue();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getAttributeRule());
+ }
+ set(
+ current,
+ "value",
+ lv_value_4_0,
+ "AttributeValue");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+ otherlv_5=(Token)match(input,37,FOLLOW_37_in_ruleAttribute5349);
+
+ newLeafNode(otherlv_5, grammarAccess.getAttributeAccess().getRightSquareBracketKeyword_5());
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleAttribute"
+
+
+ // $ANTLR start "entryRuleAttributeValue"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2439:1: entryRuleAttributeValue returns [EObject current=null] : iv_ruleAttributeValue= ruleAttributeValue EOF ;
+ public final EObject entryRuleAttributeValue() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleAttributeValue = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2440:2: (iv_ruleAttributeValue= ruleAttributeValue EOF )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2441:2: iv_ruleAttributeValue= ruleAttributeValue EOF
+ {
+ newCompositeNode(grammarAccess.getAttributeValueRule());
+ pushFollow(FOLLOW_ruleAttributeValue_in_entryRuleAttributeValue5385);
+ iv_ruleAttributeValue=ruleAttributeValue();
+
+ state._fsp--;
+
+ current =iv_ruleAttributeValue;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleAttributeValue5395);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleAttributeValue"
+
+
+ // $ANTLR start "ruleAttributeValue"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2448:1: ruleAttributeValue returns [EObject current=null] : ( ( (lv_operator_0_0= ruleATTRIBUTE_OP ) ) (this_WS_1= RULE_WS )* ( ( (lv_value_2_1= RULE_ID | lv_value_2_2= RULE_STRING ) ) ) (this_WS_3= RULE_WS )* ) ;
+ public final EObject ruleAttributeValue() throws RecognitionException {
+ EObject current = null;
+
+ Token this_WS_1=null;
+ Token lv_value_2_1=null;
+ Token lv_value_2_2=null;
+ Token this_WS_3=null;
+ Enumerator lv_operator_0_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2451:28: ( ( ( (lv_operator_0_0= ruleATTRIBUTE_OP ) ) (this_WS_1= RULE_WS )* ( ( (lv_value_2_1= RULE_ID | lv_value_2_2= RULE_STRING ) ) ) (this_WS_3= RULE_WS )* ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2452:1: ( ( (lv_operator_0_0= ruleATTRIBUTE_OP ) ) (this_WS_1= RULE_WS )* ( ( (lv_value_2_1= RULE_ID | lv_value_2_2= RULE_STRING ) ) ) (this_WS_3= RULE_WS )* )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2452:1: ( ( (lv_operator_0_0= ruleATTRIBUTE_OP ) ) (this_WS_1= RULE_WS )* ( ( (lv_value_2_1= RULE_ID | lv_value_2_2= RULE_STRING ) ) ) (this_WS_3= RULE_WS )* )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2452:2: ( (lv_operator_0_0= ruleATTRIBUTE_OP ) ) (this_WS_1= RULE_WS )* ( ( (lv_value_2_1= RULE_ID | lv_value_2_2= RULE_STRING ) ) ) (this_WS_3= RULE_WS )*
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2452:2: ( (lv_operator_0_0= ruleATTRIBUTE_OP ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2453:1: (lv_operator_0_0= ruleATTRIBUTE_OP )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2453:1: (lv_operator_0_0= ruleATTRIBUTE_OP )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2454:3: lv_operator_0_0= ruleATTRIBUTE_OP
+ {
+
+ newCompositeNode(grammarAccess.getAttributeValueAccess().getOperatorATTRIBUTE_OPEnumRuleCall_0_0());
+
+ pushFollow(FOLLOW_ruleATTRIBUTE_OP_in_ruleAttributeValue5441);
+ lv_operator_0_0=ruleATTRIBUTE_OP();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getAttributeValueRule());
+ }
+ set(
+ current,
+ "operator",
+ lv_operator_0_0,
+ "ATTRIBUTE_OP");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2470:2: (this_WS_1= RULE_WS )*
+ loop79:
+ do {
+ int alt79=2;
+ int LA79_0 = input.LA(1);
+
+ if ( (LA79_0==RULE_WS) ) {
+ alt79=1;
+ }
+
+
+ switch (alt79) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2470:3: this_WS_1= RULE_WS
+ {
+ this_WS_1=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleAttributeValue5453);
+
+ newLeafNode(this_WS_1, grammarAccess.getAttributeValueAccess().getWSTerminalRuleCall_1());
+
+
+ }
+ break;
+
+ default :
+ break loop79;
+ }
+ } while (true);
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2474:3: ( ( (lv_value_2_1= RULE_ID | lv_value_2_2= RULE_STRING ) ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2475:1: ( (lv_value_2_1= RULE_ID | lv_value_2_2= RULE_STRING ) )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2475:1: ( (lv_value_2_1= RULE_ID | lv_value_2_2= RULE_STRING ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2476:1: (lv_value_2_1= RULE_ID | lv_value_2_2= RULE_STRING )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2476:1: (lv_value_2_1= RULE_ID | lv_value_2_2= RULE_STRING )
+ int alt80=2;
+ int LA80_0 = input.LA(1);
+
+ if ( (LA80_0==RULE_ID) ) {
+ alt80=1;
+ }
+ else if ( (LA80_0==RULE_STRING) ) {
+ alt80=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 80, 0, input);
+
+ throw nvae;
+ }
+ switch (alt80) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2477:3: lv_value_2_1= RULE_ID
+ {
+ lv_value_2_1=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleAttributeValue5473);
+
+ newLeafNode(lv_value_2_1, grammarAccess.getAttributeValueAccess().getValueIDTerminalRuleCall_2_0_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getAttributeValueRule());
+ }
+ setWithLastConsumed(
+ current,
+ "value",
+ lv_value_2_1,
+ "ID");
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2492:8: lv_value_2_2= RULE_STRING
+ {
+ lv_value_2_2=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleAttributeValue5493);
+
+ newLeafNode(lv_value_2_2, grammarAccess.getAttributeValueAccess().getValueSTRINGTerminalRuleCall_2_0_1());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getAttributeValueRule());
+ }
+ setWithLastConsumed(
+ current,
+ "value",
+ lv_value_2_2,
+ "STRING");
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2510:2: (this_WS_3= RULE_WS )*
+ loop81:
+ do {
+ int alt81=2;
+ int LA81_0 = input.LA(1);
+
+ if ( (LA81_0==RULE_WS) ) {
+ alt81=1;
+ }
+
+
+ switch (alt81) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2510:3: this_WS_3= RULE_WS
+ {
+ this_WS_3=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_ruleAttributeValue5513);
+
+ newLeafNode(this_WS_3, grammarAccess.getAttributeValueAccess().getWSTerminalRuleCall_3());
+
+
+ }
+ break;
+
+ default :
+ break loop81;
+ }
+ } while (true);
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleAttributeValue"
+
+
+ // $ANTLR start "entryRulePseudo"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2522: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.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2523:2: (iv_rulePseudo= rulePseudo EOF )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2524:2: iv_rulePseudo= rulePseudo EOF
+ {
+ newCompositeNode(grammarAccess.getPseudoRule());
+ pushFollow(FOLLOW_rulePseudo_in_entryRulePseudo5550);
+ iv_rulePseudo=rulePseudo();
+
+ state._fsp--;
+
+ current =iv_rulePseudo;
+ match(input,EOF,FOLLOW_EOF_in_entryRulePseudo5560);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRulePseudo"
+
+
+ // $ANTLR start "rulePseudo"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2531:1: rulePseudo returns [EObject current=null] : (otherlv_0= ':' ( ( (lv_pseudo_1_0= RULE_ID ) ) | ( ( (lv_pseudo_2_0= RULE_ID ) ) otherlv_3= '(' (this_WS_4= RULE_WS )* ( ( (lv_args_5_0= RULE_ID ) ) (this_WS_6= RULE_WS )* )? otherlv_7= ')' ) ) ) ;
+ public final EObject rulePseudo() throws RecognitionException {
+ EObject current = null;
+
+ Token otherlv_0=null;
+ Token lv_pseudo_1_0=null;
+ Token lv_pseudo_2_0=null;
+ Token otherlv_3=null;
+ Token this_WS_4=null;
+ Token lv_args_5_0=null;
+ Token this_WS_6=null;
+ Token otherlv_7=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2534:28: ( (otherlv_0= ':' ( ( (lv_pseudo_1_0= RULE_ID ) ) | ( ( (lv_pseudo_2_0= RULE_ID ) ) otherlv_3= '(' (this_WS_4= RULE_WS )* ( ( (lv_args_5_0= RULE_ID ) ) (this_WS_6= RULE_WS )* )? otherlv_7= ')' ) ) ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2535:1: (otherlv_0= ':' ( ( (lv_pseudo_1_0= RULE_ID ) ) | ( ( (lv_pseudo_2_0= RULE_ID ) ) otherlv_3= '(' (this_WS_4= RULE_WS )* ( ( (lv_args_5_0= RULE_ID ) ) (this_WS_6= RULE_WS )* )? otherlv_7= ')' ) ) )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2535:1: (otherlv_0= ':' ( ( (lv_pseudo_1_0= RULE_ID ) ) | ( ( (lv_pseudo_2_0= RULE_ID ) ) otherlv_3= '(' (this_WS_4= RULE_WS )* ( ( (lv_args_5_0= RULE_ID ) ) (this_WS_6= RULE_WS )* )? otherlv_7= ')' ) ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2535:3: otherlv_0= ':' ( ( (lv_pseudo_1_0= RULE_ID ) ) | ( ( (lv_pseudo_2_0= RULE_ID ) ) otherlv_3= '(' (this_WS_4= RULE_WS )* ( ( (lv_args_5_0= RULE_ID ) ) (this_WS_6= RULE_WS )* )? otherlv_7= ')' ) )
+ {
+ otherlv_0=(Token)match(input,30,FOLLOW_30_in_rulePseudo5597);
+
+ newLeafNode(otherlv_0, grammarAccess.getPseudoAccess().getColonKeyword_0());
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2539:1: ( ( (lv_pseudo_1_0= RULE_ID ) ) | ( ( (lv_pseudo_2_0= RULE_ID ) ) otherlv_3= '(' (this_WS_4= RULE_WS )* ( ( (lv_args_5_0= RULE_ID ) ) (this_WS_6= RULE_WS )* )? otherlv_7= ')' ) )
+ int alt85=2;
+ int LA85_0 = input.LA(1);
+
+ if ( (LA85_0==RULE_ID) ) {
+ int LA85_1 = input.LA(2);
+
+ if ( (LA85_1==32) ) {
+ alt85=2;
+ }
+ else if ( (LA85_1==EOF||LA85_1==RULE_WS||(LA85_1>=RULE_HASH && LA85_1<=RULE_T_CLASS)||LA85_1==25||LA85_1==27||LA85_1==30||LA85_1==36||(LA85_1>=39 && LA85_1<=40)) ) {
+ alt85=1;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 85, 1, input);
+
+ throw nvae;
+ }
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 85, 0, input);
+
+ throw nvae;
+ }
+ switch (alt85) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2539:2: ( (lv_pseudo_1_0= RULE_ID ) )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2539:2: ( (lv_pseudo_1_0= RULE_ID ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2540:1: (lv_pseudo_1_0= RULE_ID )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2540:1: (lv_pseudo_1_0= RULE_ID )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2541:3: lv_pseudo_1_0= RULE_ID
+ {
+ lv_pseudo_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_rulePseudo5615);
+
+ newLeafNode(lv_pseudo_1_0, grammarAccess.getPseudoAccess().getPseudoIDTerminalRuleCall_1_0_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getPseudoRule());
+ }
+ setWithLastConsumed(
+ current,
+ "pseudo",
+ lv_pseudo_1_0,
+ "ID");
+
+
+ }
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2558:6: ( ( (lv_pseudo_2_0= RULE_ID ) ) otherlv_3= '(' (this_WS_4= RULE_WS )* ( ( (lv_args_5_0= RULE_ID ) ) (this_WS_6= RULE_WS )* )? otherlv_7= ')' )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2558:6: ( ( (lv_pseudo_2_0= RULE_ID ) ) otherlv_3= '(' (this_WS_4= RULE_WS )* ( ( (lv_args_5_0= RULE_ID ) ) (this_WS_6= RULE_WS )* )? otherlv_7= ')' )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2558:7: ( (lv_pseudo_2_0= RULE_ID ) ) otherlv_3= '(' (this_WS_4= RULE_WS )* ( ( (lv_args_5_0= RULE_ID ) ) (this_WS_6= RULE_WS )* )? otherlv_7= ')'
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2558:7: ( (lv_pseudo_2_0= RULE_ID ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2559:1: (lv_pseudo_2_0= RULE_ID )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2559:1: (lv_pseudo_2_0= RULE_ID )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2560:3: lv_pseudo_2_0= RULE_ID
+ {
+ lv_pseudo_2_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_rulePseudo5644);
+
+ newLeafNode(lv_pseudo_2_0, grammarAccess.getPseudoAccess().getPseudoIDTerminalRuleCall_1_1_0_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getPseudoRule());
+ }
+ setWithLastConsumed(
+ current,
+ "pseudo",
+ lv_pseudo_2_0,
+ "ID");
+
+
+ }
+
+
+ }
+
+ otherlv_3=(Token)match(input,32,FOLLOW_32_in_rulePseudo5661);
+
+ newLeafNode(otherlv_3, grammarAccess.getPseudoAccess().getLeftParenthesisKeyword_1_1_1());
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2580:1: (this_WS_4= RULE_WS )*
+ loop82:
+ do {
+ int alt82=2;
+ int LA82_0 = input.LA(1);
+
+ if ( (LA82_0==RULE_WS) ) {
+ alt82=1;
+ }
+
+
+ switch (alt82) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2580:2: this_WS_4= RULE_WS
+ {
+ this_WS_4=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_rulePseudo5673);
+
+ newLeafNode(this_WS_4, grammarAccess.getPseudoAccess().getWSTerminalRuleCall_1_1_2());
+
+
+ }
+ break;
+
+ default :
+ break loop82;
+ }
+ } while (true);
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2584:3: ( ( (lv_args_5_0= RULE_ID ) ) (this_WS_6= RULE_WS )* )?
+ int alt84=2;
+ int LA84_0 = input.LA(1);
+
+ if ( (LA84_0==RULE_ID) ) {
+ alt84=1;
+ }
+ switch (alt84) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2584:4: ( (lv_args_5_0= RULE_ID ) ) (this_WS_6= RULE_WS )*
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2584:4: ( (lv_args_5_0= RULE_ID ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2585:1: (lv_args_5_0= RULE_ID )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2585:1: (lv_args_5_0= RULE_ID )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2586:3: lv_args_5_0= RULE_ID
+ {
+ lv_args_5_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_rulePseudo5692);
+
+ newLeafNode(lv_args_5_0, grammarAccess.getPseudoAccess().getArgsIDTerminalRuleCall_1_1_3_0_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getPseudoRule());
+ }
+ setWithLastConsumed(
+ current,
+ "args",
+ lv_args_5_0,
+ "ID");
+
+
+ }
+
+
+ }
+
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2602:2: (this_WS_6= RULE_WS )*
+ loop83:
+ do {
+ int alt83=2;
+ int LA83_0 = input.LA(1);
+
+ if ( (LA83_0==RULE_WS) ) {
+ alt83=1;
+ }
+
+
+ switch (alt83) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2602:3: this_WS_6= RULE_WS
+ {
+ this_WS_6=(Token)match(input,RULE_WS,FOLLOW_RULE_WS_in_rulePseudo5709);
+
+ newLeafNode(this_WS_6, grammarAccess.getPseudoAccess().getWSTerminalRuleCall_1_1_3_1());
+
+
+ }
+ break;
+
+ default :
+ break loop83;
+ }
+ } while (true);
+
+
+ }
+ break;
+
+ }
+
+ otherlv_7=(Token)match(input,33,FOLLOW_33_in_rulePseudo5724);
+
+ newLeafNode(otherlv_7, grammarAccess.getPseudoAccess().getRightParenthesisKeyword_1_1_4());
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "rulePseudo"
+
+
+ // $ANTLR start "entryRuleCSSId"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2618:1: entryRuleCSSId returns [EObject current=null] : iv_ruleCSSId= ruleCSSId EOF ;
+ public final EObject entryRuleCSSId() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleCSSId = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2619:2: (iv_ruleCSSId= ruleCSSId EOF )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2620:2: iv_ruleCSSId= ruleCSSId EOF
+ {
+ newCompositeNode(grammarAccess.getCSSIdRule());
+ pushFollow(FOLLOW_ruleCSSId_in_entryRuleCSSId5762);
+ iv_ruleCSSId=ruleCSSId();
+
+ state._fsp--;
+
+ current =iv_ruleCSSId;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleCSSId5772);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleCSSId"
+
+
+ // $ANTLR start "ruleCSSId"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2627:1: ruleCSSId returns [EObject current=null] : ( (lv_value_0_0= RULE_HASH ) ) ;
+ public final EObject ruleCSSId() throws RecognitionException {
+ EObject current = null;
+
+ Token lv_value_0_0=null;
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2630:28: ( ( (lv_value_0_0= RULE_HASH ) ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2631:1: ( (lv_value_0_0= RULE_HASH ) )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2631:1: ( (lv_value_0_0= RULE_HASH ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2632:1: (lv_value_0_0= RULE_HASH )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2632:1: (lv_value_0_0= RULE_HASH )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2633:3: lv_value_0_0= RULE_HASH
+ {
+ lv_value_0_0=(Token)match(input,RULE_HASH,FOLLOW_RULE_HASH_in_ruleCSSId5813);
+
+ newLeafNode(lv_value_0_0, grammarAccess.getCSSIdAccess().getValueHASHTerminalRuleCall_0());
+
+
+ if (current==null) {
+ current = createModelElement(grammarAccess.getCSSIdRule());
+ }
+ setWithLastConsumed(
+ current,
+ "value",
+ lv_value_0_0,
+ "HASH");
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleCSSId"
+
+
+ // $ANTLR start "entryRuleUnaryOperator"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2657:1: entryRuleUnaryOperator returns [EObject current=null] : iv_ruleUnaryOperator= ruleUnaryOperator EOF ;
+ public final EObject entryRuleUnaryOperator() throws RecognitionException {
+ EObject current = null;
+
+ EObject iv_ruleUnaryOperator = null;
+
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2658:2: (iv_ruleUnaryOperator= ruleUnaryOperator EOF )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2659:2: iv_ruleUnaryOperator= ruleUnaryOperator EOF
+ {
+ newCompositeNode(grammarAccess.getUnaryOperatorRule());
+ pushFollow(FOLLOW_ruleUnaryOperator_in_entryRuleUnaryOperator5853);
+ iv_ruleUnaryOperator=ruleUnaryOperator();
+
+ state._fsp--;
+
+ current =iv_ruleUnaryOperator;
+ match(input,EOF,FOLLOW_EOF_in_entryRuleUnaryOperator5863);
+
+ }
+
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "entryRuleUnaryOperator"
+
+
+ // $ANTLR start "ruleUnaryOperator"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2666:1: ruleUnaryOperator returns [EObject current=null] : ( (lv_operator_0_0= ruleUNARY ) ) ;
+ public final EObject ruleUnaryOperator() throws RecognitionException {
+ EObject current = null;
+
+ Enumerator lv_operator_0_0 = null;
+
+
+ enterRule();
+
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2669:28: ( ( (lv_operator_0_0= ruleUNARY ) ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2670:1: ( (lv_operator_0_0= ruleUNARY ) )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2670:1: ( (lv_operator_0_0= ruleUNARY ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2671:1: (lv_operator_0_0= ruleUNARY )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2671:1: (lv_operator_0_0= ruleUNARY )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2672:3: lv_operator_0_0= ruleUNARY
+ {
+
+ newCompositeNode(grammarAccess.getUnaryOperatorAccess().getOperatorUNARYEnumRuleCall_0());
+
+ pushFollow(FOLLOW_ruleUNARY_in_ruleUnaryOperator5908);
+ lv_operator_0_0=ruleUNARY();
+
+ state._fsp--;
+
+
+ if (current==null) {
+ current = createModelElementForParent(grammarAccess.getUnaryOperatorRule());
+ }
+ set(
+ current,
+ "operator",
+ lv_operator_0_0,
+ "UNARY");
+ afterParserOrEnumRuleCall();
+
+
+ }
+
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleUnaryOperator"
+
+
+ // $ANTLR start "ruleUNARY"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2696:1: ruleUNARY returns [Enumerator current=null] : ( (enumLiteral_0= '-' ) | (enumLiteral_1= '+' ) ) ;
+ public final Enumerator ruleUNARY() throws RecognitionException {
+ Enumerator current = null;
+
+ Token enumLiteral_0=null;
+ Token enumLiteral_1=null;
+
+ enterRule();
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2698:28: ( ( (enumLiteral_0= '-' ) | (enumLiteral_1= '+' ) ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2699:1: ( (enumLiteral_0= '-' ) | (enumLiteral_1= '+' ) )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2699:1: ( (enumLiteral_0= '-' ) | (enumLiteral_1= '+' ) )
+ int alt86=2;
+ int LA86_0 = input.LA(1);
+
+ if ( (LA86_0==38) ) {
+ alt86=1;
+ }
+ else if ( (LA86_0==39) ) {
+ alt86=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 86, 0, input);
+
+ throw nvae;
+ }
+ switch (alt86) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2699:2: (enumLiteral_0= '-' )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2699:2: (enumLiteral_0= '-' )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2699:4: enumLiteral_0= '-'
+ {
+ enumLiteral_0=(Token)match(input,38,FOLLOW_38_in_ruleUNARY5957);
+
+ current = grammarAccess.getUNARYAccess().getNEGEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_0, grammarAccess.getUNARYAccess().getNEGEnumLiteralDeclaration_0());
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2705:6: (enumLiteral_1= '+' )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2705:6: (enumLiteral_1= '+' )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2705:8: enumLiteral_1= '+'
+ {
+ enumLiteral_1=(Token)match(input,39,FOLLOW_39_in_ruleUNARY5974);
+
+ current = grammarAccess.getUNARYAccess().getPLUSEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_1, grammarAccess.getUNARYAccess().getPLUSEnumLiteralDeclaration_1());
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleUNARY"
+
+
+ // $ANTLR start "ruleKIND"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2715:1: ruleKIND returns [Enumerator current=null] : ( (enumLiteral_0= '>' ) | (enumLiteral_1= '+' ) ) ;
+ public final Enumerator ruleKIND() throws RecognitionException {
+ Enumerator current = null;
+
+ Token enumLiteral_0=null;
+ Token enumLiteral_1=null;
+
+ enterRule();
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2717:28: ( ( (enumLiteral_0= '>' ) | (enumLiteral_1= '+' ) ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2718:1: ( (enumLiteral_0= '>' ) | (enumLiteral_1= '+' ) )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2718:1: ( (enumLiteral_0= '>' ) | (enumLiteral_1= '+' ) )
+ int alt87=2;
+ int LA87_0 = input.LA(1);
+
+ if ( (LA87_0==40) ) {
+ alt87=1;
+ }
+ else if ( (LA87_0==39) ) {
+ alt87=2;
+ }
+ else {
+ NoViableAltException nvae =
+ new NoViableAltException("", 87, 0, input);
+
+ throw nvae;
+ }
+ switch (alt87) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2718:2: (enumLiteral_0= '>' )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2718:2: (enumLiteral_0= '>' )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2718:4: enumLiteral_0= '>'
+ {
+ enumLiteral_0=(Token)match(input,40,FOLLOW_40_in_ruleKIND6019);
+
+ current = grammarAccess.getKINDAccess().getFIRST_CHILDEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_0, grammarAccess.getKINDAccess().getFIRST_CHILDEnumLiteralDeclaration_0());
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2724:6: (enumLiteral_1= '+' )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2724:6: (enumLiteral_1= '+' )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2724:8: enumLiteral_1= '+'
+ {
+ enumLiteral_1=(Token)match(input,39,FOLLOW_39_in_ruleKIND6036);
+
+ current = grammarAccess.getKINDAccess().getSIBLINGEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_1, grammarAccess.getKINDAccess().getSIBLINGEnumLiteralDeclaration_1());
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleKIND"
+
+
+ // $ANTLR start "ruleATTRIBUTE_OP"
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2734:1: ruleATTRIBUTE_OP returns [Enumerator current=null] : ( (enumLiteral_0= '=' ) | (enumLiteral_1= '~=' ) | (enumLiteral_2= '!=' ) ) ;
+ public final Enumerator ruleATTRIBUTE_OP() throws RecognitionException {
+ Enumerator current = null;
+
+ Token enumLiteral_0=null;
+ Token enumLiteral_1=null;
+ Token enumLiteral_2=null;
+
+ enterRule();
+ try {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2736:28: ( ( (enumLiteral_0= '=' ) | (enumLiteral_1= '~=' ) | (enumLiteral_2= '!=' ) ) )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2737:1: ( (enumLiteral_0= '=' ) | (enumLiteral_1= '~=' ) | (enumLiteral_2= '!=' ) )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2737:1: ( (enumLiteral_0= '=' ) | (enumLiteral_1= '~=' ) | (enumLiteral_2= '!=' ) )
+ int alt88=3;
+ switch ( input.LA(1) ) {
+ case 41:
+ {
+ alt88=1;
+ }
+ break;
+ case 42:
+ {
+ alt88=2;
+ }
+ break;
+ case 43:
+ {
+ alt88=3;
+ }
+ break;
+ default:
+ NoViableAltException nvae =
+ new NoViableAltException("", 88, 0, input);
+
+ throw nvae;
+ }
+
+ switch (alt88) {
+ case 1 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2737:2: (enumLiteral_0= '=' )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2737:2: (enumLiteral_0= '=' )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2737:4: enumLiteral_0= '='
+ {
+ enumLiteral_0=(Token)match(input,41,FOLLOW_41_in_ruleATTRIBUTE_OP6081);
+
+ current = grammarAccess.getATTRIBUTE_OPAccess().getEQUALSEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_0, grammarAccess.getATTRIBUTE_OPAccess().getEQUALSEnumLiteralDeclaration_0());
+
+
+ }
+
+
+ }
+ break;
+ case 2 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2743:6: (enumLiteral_1= '~=' )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2743:6: (enumLiteral_1= '~=' )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2743:8: enumLiteral_1= '~='
+ {
+ enumLiteral_1=(Token)match(input,42,FOLLOW_42_in_ruleATTRIBUTE_OP6098);
+
+ current = grammarAccess.getATTRIBUTE_OPAccess().getCONTAINSEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_1, grammarAccess.getATTRIBUTE_OPAccess().getCONTAINSEnumLiteralDeclaration_1());
+
+
+ }
+
+
+ }
+ break;
+ case 3 :
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2749:6: (enumLiteral_2= '!=' )
+ {
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2749:6: (enumLiteral_2= '!=' )
+ // ../org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g:2749:8: enumLiteral_2= '!='
+ {
+ enumLiteral_2=(Token)match(input,43,FOLLOW_43_in_ruleATTRIBUTE_OP6115);
+
+ current = grammarAccess.getATTRIBUTE_OPAccess().getUNEQUALSEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
+ newLeafNode(enumLiteral_2, grammarAccess.getATTRIBUTE_OPAccess().getUNEQUALSEnumLiteralDeclaration_2());
+
+
+ }
+
+
+ }
+ break;
+
+ }
+
+
+ }
+
+ leaveRule();
+ }
+
+ catch (RecognitionException re) {
+ recover(input,re);
+ appendSkippedTokens();
+ }
+ finally {
+ }
+ return current;
+ }
+ // $ANTLR end "ruleATTRIBUTE_OP"
+
+ // Delegated rules
+
+
+ protected DFA44 dfa44 = new DFA44(this);
+ protected DFA47 dfa47 = new DFA47(this);
+ protected DFA60 dfa60 = new DFA60(this);
+ static final String DFA44_eotS =
+ "\60\uffff";
+ static final String DFA44_eofS =
+ "\1\uffff\4\15\2\uffff\2\15\2\uffff\1\15\4\uffff\1\15\2\uffff\1"+
+ "\15\4\uffff\1\15\5\uffff\1\15\6\uffff\1\15\5\uffff\1\15\4\uffff";
+ static final String DFA44_minS =
+ "\1\10\5\5\1\10\3\5\1\10\1\5\2\uffff\7\5\3\4\3\5\3\4\2\5\1\4\5\5"+
+ "\1\4\11\5";
+ static final String DFA44_maxS =
+ "\1\44\4\50\2\10\2\50\2\10\1\50\2\uffff\1\10\1\53\1\50\1\10\1\53"+
+ "\1\50\1\53\3\10\1\50\1\41\1\53\3\10\1\50\1\41\1\10\2\45\2\41\1\50"+
+ "\1\10\2\45\2\41\1\50\1\45\1\41\1\45\1\41";
+ static final String DFA44_acceptS =
+ "\14\uffff\1\2\1\1\42\uffff";
+ static final String DFA44_specialS =
+ "\60\uffff}>";
+ static final String[] DFA44_transitionS = {
+ "\1\1\11\uffff\1\3\1\4\12\uffff\1\6\1\2\4\uffff\1\5",
+ "\1\13\14\uffff\1\7\1\10\5\uffff\1\15\1\uffff\1\15\2\uffff"+
+ "\1\12\5\uffff\1\11\2\uffff\2\14",
+ "\1\13\14\uffff\1\7\1\10\5\uffff\1\15\1\uffff\1\15\2\uffff"+
+ "\1\12\5\uffff\1\11\2\uffff\2\14",
+ "\1\13\14\uffff\1\3\1\4\5\uffff\1\15\1\uffff\1\15\2\uffff\1"+
+ "\6\5\uffff\1\5\2\uffff\2\14",
+ "\1\13\14\uffff\1\3\1\4\5\uffff\1\15\1\uffff\1\15\2\uffff\1"+
+ "\6\5\uffff\1\5\2\uffff\2\14",
+ "\1\16\2\uffff\1\17",
+ "\1\20",
+ "\1\13\14\uffff\1\7\1\10\5\uffff\1\15\1\uffff\1\15\2\uffff"+
+ "\1\12\5\uffff\1\11\2\uffff\2\14",
+ "\1\13\14\uffff\1\7\1\10\5\uffff\1\15\1\uffff\1\15\2\uffff"+
+ "\1\12\5\uffff\1\11\2\uffff\2\14",
+ "\1\21\2\uffff\1\22",
+ "\1\23",
+ "\1\13\2\uffff\1\14\11\uffff\2\14\5\uffff\1\15\1\uffff\1\15"+
+ "\2\uffff\2\14\4\uffff\1\14\2\uffff\2\14",
+ "",
+ "",
+ "\1\16\2\uffff\1\17",
+ "\1\24\37\uffff\1\30\3\uffff\1\25\1\26\1\27",
+ "\1\13\14\uffff\1\3\1\4\5\uffff\1\15\1\uffff\1\15\2\uffff\1"+
+ "\6\1\uffff\1\31\3\uffff\1\5\2\uffff\2\14",
+ "\1\21\2\uffff\1\22",
+ "\1\32\37\uffff\1\36\3\uffff\1\33\1\34\1\35",
+ "\1\13\14\uffff\1\7\1\10\5\uffff\1\15\1\uffff\1\15\2\uffff"+
+ "\1\12\1\uffff\1\37\3\uffff\1\11\2\uffff\2\14",
+ "\1\24\37\uffff\1\30\3\uffff\1\25\1\26\1\27",
+ "\1\42\1\40\2\uffff\1\41",
+ "\1\42\1\40\2\uffff\1\41",
+ "\1\42\1\40\2\uffff\1\41",
+ "\1\13\14\uffff\1\3\1\4\5\uffff\1\15\1\uffff\1\15\2\uffff\1"+
+ "\6\5\uffff\1\5\2\uffff\2\14",
+ "\1\43\2\uffff\1\44\30\uffff\1\45",
+ "\1\32\37\uffff\1\36\3\uffff\1\33\1\34\1\35",
+ "\1\50\1\46\2\uffff\1\47",
+ "\1\50\1\46\2\uffff\1\47",
+ "\1\50\1\46\2\uffff\1\47",
+ "\1\13\14\uffff\1\7\1\10\5\uffff\1\15\1\uffff\1\15\2\uffff"+
+ "\1\12\5\uffff\1\11\2\uffff\2\14",
+ "\1\51\2\uffff\1\52\30\uffff\1\53",
+ "\1\42\1\40\2\uffff\1\41",
+ "\1\54\37\uffff\1\30",
+ "\1\54\37\uffff\1\30",
+ "\1\43\2\uffff\1\44\30\uffff\1\45",
+ "\1\55\33\uffff\1\45",
+ "\1\13\14\uffff\1\3\1\4\5\uffff\1\15\1\uffff\1\15\2\uffff\1"+
+ "\6\5\uffff\1\5\2\uffff\2\14",
+ "\1\50\1\46\2\uffff\1\47",
+ "\1\56\37\uffff\1\36",
+ "\1\56\37\uffff\1\36",
+ "\1\51\2\uffff\1\52\30\uffff\1\53",
+ "\1\57\33\uffff\1\53",
+ "\1\13\14\uffff\1\7\1\10\5\uffff\1\15\1\uffff\1\15\2\uffff"+
+ "\1\12\5\uffff\1\11\2\uffff\2\14",
+ "\1\54\37\uffff\1\30",
+ "\1\55\33\uffff\1\45",
+ "\1\56\37\uffff\1\36",
+ "\1\57\33\uffff\1\53"
+ };
+
+ static final short[] DFA44_eot = DFA.unpackEncodedString(DFA44_eotS);
+ static final short[] DFA44_eof = DFA.unpackEncodedString(DFA44_eofS);
+ static final char[] DFA44_min = DFA.unpackEncodedStringToUnsignedChars(DFA44_minS);
+ static final char[] DFA44_max = DFA.unpackEncodedStringToUnsignedChars(DFA44_maxS);
+ static final short[] DFA44_accept = DFA.unpackEncodedString(DFA44_acceptS);
+ static final short[] DFA44_special = DFA.unpackEncodedString(DFA44_specialS);
+ static final short[][] DFA44_transition;
+
+ static {
+ int numStates = DFA44_transitionS.length;
+ DFA44_transition = new short[numStates][];
+ for (int i=0; i<numStates; i++) {
+ DFA44_transition[i] = DFA.unpackEncodedString(DFA44_transitionS[i]);
+ }
+ }
+
+ class DFA44 extends DFA {
+
+ public DFA44(BaseRecognizer recognizer) {
+ this.recognizer = recognizer;
+ this.decisionNumber = 44;
+ this.eot = DFA44_eot;
+ this.eof = DFA44_eof;
+ this.min = DFA44_min;
+ this.max = DFA44_max;
+ this.accept = DFA44_accept;
+ this.special = DFA44_special;
+ this.transition = DFA44_transition;
+ }
+ public String getDescription() {
+ return "788:1: ( (this_SimpleSelector_0= ruleSimpleSelector (this_WS_1= RULE_WS )* ) | this_CompositeSelector_2= ruleCompositeSelector )";
+ }
+ }
+ static final String DFA47_eotS =
+ "\4\uffff";
+ static final String DFA47_eofS =
+ "\4\uffff";
+ static final String DFA47_minS =
+ "\2\5\2\uffff";
+ static final String DFA47_maxS =
+ "\2\50\2\uffff";
+ static final String DFA47_acceptS =
+ "\2\uffff\1\2\1\1";
+ static final String DFA47_specialS =
+ "\4\uffff}>";
+ static final String[] DFA47_transitionS = {
+ "\1\1\41\uffff\2\2",
+ "\1\1\2\uffff\1\3\11\uffff\2\3\12\uffff\2\3\4\uffff\1\3\2\uffff"+
+ "\2\2",
+ "",
+ ""
+ };
+
+ static final short[] DFA47_eot = DFA.unpackEncodedString(DFA47_eotS);
+ static final short[] DFA47_eof = DFA.unpackEncodedString(DFA47_eofS);
+ static final char[] DFA47_min = DFA.unpackEncodedStringToUnsignedChars(DFA47_minS);
+ static final char[] DFA47_max = DFA.unpackEncodedStringToUnsignedChars(DFA47_maxS);
+ static final short[] DFA47_accept = DFA.unpackEncodedString(DFA47_acceptS);
+ static final short[] DFA47_special = DFA.unpackEncodedString(DFA47_specialS);
+ static final short[][] DFA47_transition;
+
+ static {
+ int numStates = DFA47_transitionS.length;
+ DFA47_transition = new short[numStates][];
+ for (int i=0; i<numStates; i++) {
+ DFA47_transition[i] = DFA.unpackEncodedString(DFA47_transitionS[i]);
+ }
+ }
+
+ class DFA47 extends DFA {
+
+ public DFA47(BaseRecognizer recognizer) {
+ this.recognizer = recognizer;
+ this.decisionNumber = 47;
+ this.eot = DFA47_eot;
+ this.eof = DFA47_eof;
+ this.min = DFA47_min;
+ this.max = DFA47_max;
+ this.accept = DFA47_accept;
+ this.special = DFA47_special;
+ this.transition = DFA47_transition;
+ }
+ public String getDescription() {
+ return "850:2: ( (this_WS_1= RULE_WS )+ | ( (this_WS_2= RULE_WS )* ( (lv_combinator_3_0= ruleCombinator ) ) ) )";
+ }
+ }
+ static final String DFA60_eotS =
+ "\22\uffff";
+ static final String DFA60_eofS =
+ "\3\uffff\1\17\1\21\15\uffff";
+ static final String DFA60_minS =
+ "\1\4\2\12\2\4\15\uffff";
+ static final String DFA60_maxS =
+ "\1\47\2\12\2\47\15\uffff";
+ static final String DFA60_acceptS =
+ "\5\uffff\1\12\1\13\1\14\1\4\1\2\1\10\1\6\1\7\1\5\1\3\1\1\1\15\1"+
+ "\11";
+ static final String DFA60_specialS =
+ "\22\uffff}>";
+ static final String[] DFA60_transitionS = {
+ "\1\5\3\uffff\1\4\1\uffff\1\3\7\uffff\1\7\17\uffff\1\6\3\uffff"+
+ "\1\1\1\2",
+ "\1\3",
+ "\1\3",
+ "\2\17\2\uffff\3\17\1\11\1\16\1\10\1\15\1\13\1\14\1\12\1\17"+
+ "\4\uffff\1\17\1\uffff\1\17\2\uffff\1\17\4\uffff\3\17\2\uffff"+
+ "\2\17",
+ "\2\21\2\uffff\3\21\7\uffff\1\21\4\uffff\1\21\1\uffff\1\21"+
+ "\2\uffff\1\21\3\uffff\1\20\3\21\2\uffff\2\21",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ ""
+ };
+
+ static final short[] DFA60_eot = DFA.unpackEncodedString(DFA60_eotS);
+ static final short[] DFA60_eof = DFA.unpackEncodedString(DFA60_eofS);
+ static final char[] DFA60_min = DFA.unpackEncodedStringToUnsignedChars(DFA60_minS);
+ static final char[] DFA60_max = DFA.unpackEncodedStringToUnsignedChars(DFA60_maxS);
+ static final short[] DFA60_accept = DFA.unpackEncodedString(DFA60_acceptS);
+ static final short[] DFA60_special = DFA.unpackEncodedString(DFA60_specialS);
+ static final short[][] DFA60_transition;
+
+ static {
+ int numStates = DFA60_transitionS.length;
+ DFA60_transition = new short[numStates][];
+ for (int i=0; i<numStates; i++) {
+ DFA60_transition[i] = DFA.unpackEncodedString(DFA60_transitionS[i]);
+ }
+ }
+
+ class DFA60 extends DFA {
+
+ public DFA60(BaseRecognizer recognizer) {
+ this.recognizer = recognizer;
+ this.decisionNumber = 60;
+ this.eot = DFA60_eot;
+ this.eof = DFA60_eof;
+ this.min = DFA60_min;
+ this.max = DFA60_max;
+ this.accept = DFA60_accept;
+ this.special = DFA60_special;
+ this.transition = DFA60_transition;
+ }
+ public String getDescription() {
+ return "1315:2: (this_Number_0= ruleNumber | 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_Frequency_7= ruleFrequency | this_Name_8= ruleName | this_StringValue_9= ruleStringValue | this_Uri_10= ruleUri | this_HexColor_11= ruleHexColor | this_Function_12= ruleFunction )";
+ }
+ }
+
+
+ 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_22_in_ruleStylesheet123 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_RULE_STRING_in_ruleStylesheet140 = new BitSet(new long[]{0x0000000000800000L});
+ public static final BitSet FOLLOW_23_in_ruleStylesheet157 = new BitSet(new long[]{0x00000010E50C01E2L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleStylesheet171 = new BitSet(new long[]{0x00000010E50C01E2L});
+ public static final BitSet FOLLOW_RULE_CDO_in_ruleStylesheet187 = new BitSet(new long[]{0x00000010E50C01E2L});
+ public static final BitSet FOLLOW_RULE_CDC_in_ruleStylesheet203 = new BitSet(new long[]{0x00000010E50C01E2L});
+ public static final BitSet FOLLOW_ruleImport_in_ruleStylesheet226 = new BitSet(new long[]{0x00000010E50C01C2L});
+ public static final BitSet FOLLOW_RULE_CDO_in_ruleStylesheet239 = new BitSet(new long[]{0x00000010E50C01E2L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleStylesheet250 = new BitSet(new long[]{0x00000010E50C01E2L});
+ public static final BitSet FOLLOW_RULE_CDC_in_ruleStylesheet270 = new BitSet(new long[]{0x00000010E50C01E2L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleStylesheet281 = new BitSet(new long[]{0x00000010E50C01E2L});
+ public static final BitSet FOLLOW_ruleContent_in_ruleStylesheet309 = new BitSet(new long[]{0x00000010E40C01C2L});
+ public static final BitSet FOLLOW_RULE_CDO_in_ruleStylesheet322 = new BitSet(new long[]{0x00000010E40C01E2L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleStylesheet333 = new BitSet(new long[]{0x00000010E40C01E2L});
+ public static final BitSet FOLLOW_RULE_CDC_in_ruleStylesheet353 = new BitSet(new long[]{0x00000010E40C01E2L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleStylesheet364 = new BitSet(new long[]{0x00000010E40C01E2L});
+ public static final BitSet FOLLOW_ruleContent_in_entryRuleContent406 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleContent416 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleRuleset_in_ruleContent463 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleMedia_in_ruleContent490 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePage_in_ruleContent517 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleImport_in_entryRuleImport552 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleImport562 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_24_in_ruleImport599 = new BitSet(new long[]{0x0000000000000030L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleImport613 = new BitSet(new long[]{0x0000000000000030L});
+ public static final BitSet FOLLOW_RULE_STRING_in_ruleImport631 = new BitSet(new long[]{0x0000000000800120L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleImport655 = new BitSet(new long[]{0x0000000400000000L});
+ public static final BitSet FOLLOW_ruleUri_in_ruleImport675 = new BitSet(new long[]{0x0000000000800120L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleImport689 = new BitSet(new long[]{0x0000000000800120L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleImport708 = new BitSet(new long[]{0x0000000002800020L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleImport725 = new BitSet(new long[]{0x0000000002800020L});
+ public static final BitSet FOLLOW_25_in_ruleImport739 = new BitSet(new long[]{0x0000000000000120L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleImport751 = new BitSet(new long[]{0x0000000000000120L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleImport769 = new BitSet(new long[]{0x0000000002800000L});
+ public static final BitSet FOLLOW_23_in_ruleImport790 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleImport802 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_ruleMedia_in_entryRuleMedia839 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleMedia849 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_26_in_ruleMedia886 = new BitSet(new long[]{0x0000000000000020L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleMedia897 = new BitSet(new long[]{0x0000000000000100L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleMedia913 = new BitSet(new long[]{0x000000000A000020L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleMedia930 = new BitSet(new long[]{0x000000000A000020L});
+ public static final BitSet FOLLOW_25_in_ruleMedia944 = new BitSet(new long[]{0x0000000000000120L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleMedia956 = new BitSet(new long[]{0x0000000000000120L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleMedia974 = new BitSet(new long[]{0x000000000A000000L});
+ public static final BitSet FOLLOW_27_in_ruleMedia993 = new BitSet(new long[]{0x00000010D00C0120L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleMedia1005 = new BitSet(new long[]{0x00000010D00C0120L});
+ public static final BitSet FOLLOW_ruleRuleset_in_ruleMedia1027 = new BitSet(new long[]{0x00000010D00C0100L});
+ public static final BitSet FOLLOW_28_in_ruleMedia1040 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleMedia1052 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_rulePage_in_entryRulePage1089 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulePage1099 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_29_in_rulePage1145 = new BitSet(new long[]{0x0000000048000020L});
+ public static final BitSet FOLLOW_RULE_WS_in_rulePage1157 = new BitSet(new long[]{0x0000000048000020L});
+ public static final BitSet FOLLOW_rulePseudoPage_in_rulePage1179 = new BitSet(new long[]{0x0000000008000000L});
+ public static final BitSet FOLLOW_27_in_rulePage1192 = new BitSet(new long[]{0x0000000010800120L});
+ public static final BitSet FOLLOW_RULE_WS_in_rulePage1204 = new BitSet(new long[]{0x0000000010800120L});
+ public static final BitSet FOLLOW_ruleDeclaration_in_rulePage1226 = new BitSet(new long[]{0x0000000010800000L});
+ public static final BitSet FOLLOW_23_in_rulePage1240 = new BitSet(new long[]{0x0000000010800120L});
+ public static final BitSet FOLLOW_RULE_WS_in_rulePage1252 = new BitSet(new long[]{0x0000000010800120L});
+ public static final BitSet FOLLOW_ruleDeclaration_in_rulePage1274 = new BitSet(new long[]{0x0000000010800000L});
+ public static final BitSet FOLLOW_28_in_rulePage1289 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_RULE_WS_in_rulePage1301 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_rulePseudoPage_in_entryRulePseudoPage1338 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulePseudoPage1348 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_30_in_rulePseudoPage1385 = new BitSet(new long[]{0x0000000000000100L});
+ public static final BitSet FOLLOW_RULE_ID_in_rulePseudoPage1402 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_RULE_WS_in_rulePseudoPage1419 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_ruleRuleset_in_entryRuleRuleset1456 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleRuleset1466 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSelector_in_ruleRuleset1512 = new BitSet(new long[]{0x000000000A000000L});
+ public static final BitSet FOLLOW_25_in_ruleRuleset1525 = new BitSet(new long[]{0x00000010C00C0120L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleRuleset1537 = new BitSet(new long[]{0x00000010C00C0120L});
+ public static final BitSet FOLLOW_ruleSelector_in_ruleRuleset1559 = new BitSet(new long[]{0x000000000A000000L});
+ public static final BitSet FOLLOW_27_in_ruleRuleset1573 = new BitSet(new long[]{0x0000000010800120L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleRuleset1585 = new BitSet(new long[]{0x0000000010800120L});
+ public static final BitSet FOLLOW_ruleDeclaration_in_ruleRuleset1607 = new BitSet(new long[]{0x0000000010800000L});
+ public static final BitSet FOLLOW_23_in_ruleRuleset1621 = new BitSet(new long[]{0x0000000010800120L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleRuleset1633 = new BitSet(new long[]{0x0000000010800120L});
+ public static final BitSet FOLLOW_ruleDeclaration_in_ruleRuleset1655 = new BitSet(new long[]{0x0000000010800000L});
+ public static final BitSet FOLLOW_28_in_ruleRuleset1670 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleRuleset1682 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_ruleSelector_in_entryRuleSelector1719 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleSelector1729 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSimpleSelector_in_ruleSelector1777 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleSelector1788 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_ruleCompositeSelector_in_ruleSelector1818 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCompositeSelector_in_entryRuleCompositeSelector1853 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleCompositeSelector1863 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSimpleSelector_in_ruleCompositeSelector1909 = new BitSet(new long[]{0x0000018000000020L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleCompositeSelector1922 = new BitSet(new long[]{0x00000010C00C0120L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleCompositeSelector1942 = new BitSet(new long[]{0x0000018000000020L});
+ public static final BitSet FOLLOW_ruleCombinator_in_ruleCompositeSelector1964 = new BitSet(new long[]{0x00000010C00C0100L});
+ public static final BitSet FOLLOW_ruleSelector_in_ruleCompositeSelector1987 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleSimpleSelector_in_entryRuleSimpleSelector2023 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleSimpleSelector2033 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleSimpleSelector2078 = new BitSet(new long[]{0x00000010C00C0102L});
+ public static final BitSet FOLLOW_31_in_ruleSimpleSelector2099 = new BitSet(new long[]{0x00000010C00C0102L});
+ public static final BitSet FOLLOW_ruleSelectorCondition_in_ruleSimpleSelector2136 = new BitSet(new long[]{0x00000010C00C0102L});
+ public static final BitSet FOLLOW_ruleSelectorCondition_in_ruleSimpleSelector2165 = new BitSet(new long[]{0x00000010C00C0102L});
+ public static final BitSet FOLLOW_ruleSelectorCondition_in_entryRuleSelectorCondition2202 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleSelectorCondition2212 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCSSId_in_ruleSelectorCondition2259 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleClass_in_ruleSelectorCondition2286 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleAttribute_in_ruleSelectorCondition2313 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePseudo_in_ruleSelectorCondition2340 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCombinator_in_entryRuleCombinator2375 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleCombinator2385 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleKIND_in_ruleCombinator2431 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleCombinator2443 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_ruleDeclaration_in_entryRuleDeclaration2480 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleDeclaration2490 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleDeclaration2532 = new BitSet(new long[]{0x0000000040000020L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleDeclaration2549 = new BitSet(new long[]{0x0000000040000020L});
+ public static final BitSet FOLLOW_30_in_ruleDeclaration2562 = new BitSet(new long[]{0x000000C400040530L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleDeclaration2574 = new BitSet(new long[]{0x000000C400040530L});
+ public static final BitSet FOLLOW_ruleExpression_in_ruleDeclaration2596 = new BitSet(new long[]{0x0000000000000202L});
+ public static final BitSet FOLLOW_RULE_T_IMPORTANT_in_ruleDeclaration2614 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleDeclaration2631 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_ruleExpression_in_entryRuleExpression2670 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleExpression2680 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTerm_in_ruleExpression2726 = new BitSet(new long[]{0x000000CC02040532L});
+ public static final BitSet FOLLOW_ruleSubterm_in_ruleExpression2747 = new BitSet(new long[]{0x000000CC02040532L});
+ public static final BitSet FOLLOW_ruleSubterm_in_entryRuleSubterm2784 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleSubterm2794 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleOperator_in_ruleSubterm2840 = new BitSet(new long[]{0x000000C400040530L});
+ public static final BitSet FOLLOW_ruleTerm_in_ruleSubterm2862 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTerm_in_entryRuleTerm2898 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTerm2908 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNumber_in_ruleTerm2956 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_rulePercentage_in_ruleTerm2983 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_ruleLength_in_ruleTerm3010 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_ruleEms_in_ruleTerm3037 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_ruleExs_in_ruleTerm3064 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_ruleAngle_in_ruleTerm3091 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_ruleTime_in_ruleTerm3118 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_ruleFrequency_in_ruleTerm3145 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_ruleName_in_ruleTerm3172 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_ruleStringValue_in_ruleTerm3199 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_ruleUri_in_ruleTerm3226 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_ruleHexColor_in_ruleTerm3253 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_ruleFunction_in_ruleTerm3280 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleTerm3292 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_ruleFunction_in_entryRuleFunction3329 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleFunction3339 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleFunction3381 = new BitSet(new long[]{0x0000000100000000L});
+ public static final BitSet FOLLOW_32_in_ruleFunction3398 = new BitSet(new long[]{0x000000C400040530L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleFunction3410 = new BitSet(new long[]{0x000000C400040530L});
+ public static final BitSet FOLLOW_ruleExpression_in_ruleFunction3432 = new BitSet(new long[]{0x0000000200000000L});
+ public static final BitSet FOLLOW_33_in_ruleFunction3444 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleName_in_entryRuleName3480 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleName3490 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleName3531 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleNumber_in_entryRuleNumber3571 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleNumber3581 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnaryOperator_in_ruleNumber3627 = new BitSet(new long[]{0x0000000000000400L});
+ public static final BitSet FOLLOW_RULE_T_NUM_in_ruleNumber3645 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_rulePercentage_in_entryRulePercentage3686 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulePercentage3696 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnaryOperator_in_rulePercentage3742 = new BitSet(new long[]{0x0000000000000400L});
+ public static final BitSet FOLLOW_RULE_T_NUM_in_rulePercentage3760 = new BitSet(new long[]{0x0000000000000800L});
+ public static final BitSet FOLLOW_RULE_PC_UNIT_in_rulePercentage3782 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleLength_in_entryRuleLength3823 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleLength3833 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnaryOperator_in_ruleLength3879 = new BitSet(new long[]{0x0000000000000400L});
+ public static final BitSet FOLLOW_RULE_T_NUM_in_ruleLength3897 = new BitSet(new long[]{0x0000000000001000L});
+ public static final BitSet FOLLOW_RULE_LEN_UNIT_in_ruleLength3919 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleEms_in_entryRuleEms3960 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleEms3970 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnaryOperator_in_ruleEms4016 = new BitSet(new long[]{0x0000000000000400L});
+ public static final BitSet FOLLOW_RULE_T_NUM_in_ruleEms4034 = new BitSet(new long[]{0x0000000000002000L});
+ public static final BitSet FOLLOW_RULE_EM_UNIT_in_ruleEms4056 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleExs_in_entryRuleExs4097 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleExs4107 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnaryOperator_in_ruleExs4153 = new BitSet(new long[]{0x0000000000000400L});
+ public static final BitSet FOLLOW_RULE_T_NUM_in_ruleExs4171 = new BitSet(new long[]{0x0000000000004000L});
+ public static final BitSet FOLLOW_RULE_EX_UNIT_in_ruleExs4193 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleAngle_in_entryRuleAngle4234 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleAngle4244 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnaryOperator_in_ruleAngle4290 = new BitSet(new long[]{0x0000000000000400L});
+ public static final BitSet FOLLOW_RULE_T_NUM_in_ruleAngle4308 = new BitSet(new long[]{0x0000000000008000L});
+ public static final BitSet FOLLOW_RULE_ANGLE_UNIT_in_ruleAngle4330 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleTime_in_entryRuleTime4371 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleTime4381 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnaryOperator_in_ruleTime4427 = new BitSet(new long[]{0x0000000000000400L});
+ public static final BitSet FOLLOW_RULE_T_NUM_in_ruleTime4445 = new BitSet(new long[]{0x0000000000010000L});
+ public static final BitSet FOLLOW_RULE_TIME_UNIT_in_ruleTime4467 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleFrequency_in_entryRuleFrequency4508 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleFrequency4518 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnaryOperator_in_ruleFrequency4564 = new BitSet(new long[]{0x0000000000000400L});
+ public static final BitSet FOLLOW_RULE_T_NUM_in_ruleFrequency4582 = new BitSet(new long[]{0x0000000000020000L});
+ public static final BitSet FOLLOW_RULE_FREQ_UNIT_in_ruleFrequency4604 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUri_in_entryRuleUri4645 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleUri4655 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_34_in_ruleUri4692 = new BitSet(new long[]{0x0000000000000030L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleUri4704 = new BitSet(new long[]{0x0000000000000010L});
+ public static final BitSet FOLLOW_RULE_STRING_in_ruleUri4722 = new BitSet(new long[]{0x0000000200000020L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleUri4739 = new BitSet(new long[]{0x0000000200000000L});
+ public static final BitSet FOLLOW_33_in_ruleUri4752 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleStringValue_in_entryRuleStringValue4788 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleStringValue4798 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_STRING_in_ruleStringValue4839 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleHexColor_in_entryRuleHexColor4879 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleHexColor4889 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_HASH_in_ruleHexColor4930 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleOperator_in_entryRuleOperator4971 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleOperator4982 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_35_in_ruleOperator5021 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleOperator5037 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_25_in_ruleOperator5065 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleOperator5081 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_ruleClass_in_entryRuleClass5129 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleClass5139 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_T_CLASS_in_ruleClass5180 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleAttribute_in_entryRuleAttribute5220 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleAttribute5230 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_36_in_ruleAttribute5267 = new BitSet(new long[]{0x0000000000000120L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleAttribute5279 = new BitSet(new long[]{0x0000000000000120L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleAttribute5297 = new BitSet(new long[]{0x00000E2000000020L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleAttribute5314 = new BitSet(new long[]{0x00000E2000000020L});
+ public static final BitSet FOLLOW_ruleAttributeValue_in_ruleAttribute5336 = new BitSet(new long[]{0x0000002000000000L});
+ public static final BitSet FOLLOW_37_in_ruleAttribute5349 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleAttributeValue_in_entryRuleAttributeValue5385 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleAttributeValue5395 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleATTRIBUTE_OP_in_ruleAttributeValue5441 = new BitSet(new long[]{0x0000000000000130L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleAttributeValue5453 = new BitSet(new long[]{0x0000000000000130L});
+ public static final BitSet FOLLOW_RULE_ID_in_ruleAttributeValue5473 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_RULE_STRING_in_ruleAttributeValue5493 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_RULE_WS_in_ruleAttributeValue5513 = new BitSet(new long[]{0x0000000000000022L});
+ public static final BitSet FOLLOW_rulePseudo_in_entryRulePseudo5550 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRulePseudo5560 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_30_in_rulePseudo5597 = new BitSet(new long[]{0x0000000000000100L});
+ public static final BitSet FOLLOW_RULE_ID_in_rulePseudo5615 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_ID_in_rulePseudo5644 = new BitSet(new long[]{0x0000000100000000L});
+ public static final BitSet FOLLOW_32_in_rulePseudo5661 = new BitSet(new long[]{0x0000000200000120L});
+ public static final BitSet FOLLOW_RULE_WS_in_rulePseudo5673 = new BitSet(new long[]{0x0000000200000120L});
+ public static final BitSet FOLLOW_RULE_ID_in_rulePseudo5692 = new BitSet(new long[]{0x0000000200000020L});
+ public static final BitSet FOLLOW_RULE_WS_in_rulePseudo5709 = new BitSet(new long[]{0x0000000200000020L});
+ public static final BitSet FOLLOW_33_in_rulePseudo5724 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleCSSId_in_entryRuleCSSId5762 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleCSSId5772 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_RULE_HASH_in_ruleCSSId5813 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUnaryOperator_in_entryRuleUnaryOperator5853 = new BitSet(new long[]{0x0000000000000000L});
+ public static final BitSet FOLLOW_EOF_in_entryRuleUnaryOperator5863 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_ruleUNARY_in_ruleUnaryOperator5908 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_38_in_ruleUNARY5957 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_39_in_ruleUNARY5974 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_40_in_ruleKIND6019 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_39_in_ruleKIND6036 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_41_in_ruleATTRIBUTE_OP6081 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_42_in_ruleATTRIBUTE_OP6098 = new BitSet(new long[]{0x0000000000000002L});
+ public static final BitSet FOLLOW_43_in_ruleATTRIBUTE_OP6115 = new BitSet(new long[]{0x0000000000000002L});
+
+} \ No newline at end of file
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/serializer/AbstractCSSSemanticSequencer.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/serializer/AbstractCSSSemanticSequencer.java
new file mode 100644
index 00000000000..ef174fee24f
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/serializer/AbstractCSSSemanticSequencer.java
@@ -0,0 +1,638 @@
+package org.eclipse.papyrus.infra.gmfdiag.serializer;
+
+import com.google.inject.Inject;
+import com.google.inject.Provider;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.infra.gmfdiag.css.Angle;
+import org.eclipse.papyrus.infra.gmfdiag.css.Attribute;
+import org.eclipse.papyrus.infra.gmfdiag.css.AttributeValue;
+import org.eclipse.papyrus.infra.gmfdiag.css.CSSId;
+import org.eclipse.papyrus.infra.gmfdiag.css.Combinator;
+import org.eclipse.papyrus.infra.gmfdiag.css.CompositeSelector;
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Declaration;
+import org.eclipse.papyrus.infra.gmfdiag.css.Ems;
+import org.eclipse.papyrus.infra.gmfdiag.css.Expression;
+import org.eclipse.papyrus.infra.gmfdiag.css.Exs;
+import org.eclipse.papyrus.infra.gmfdiag.css.Frequency;
+import org.eclipse.papyrus.infra.gmfdiag.css.Function;
+import org.eclipse.papyrus.infra.gmfdiag.css.HexColor;
+import org.eclipse.papyrus.infra.gmfdiag.css.Import;
+import org.eclipse.papyrus.infra.gmfdiag.css.Length;
+import org.eclipse.papyrus.infra.gmfdiag.css.Media;
+import org.eclipse.papyrus.infra.gmfdiag.css.Name;
+import org.eclipse.papyrus.infra.gmfdiag.css.Page;
+import org.eclipse.papyrus.infra.gmfdiag.css.Percentage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Pseudo;
+import org.eclipse.papyrus.infra.gmfdiag.css.PseudoPage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Ruleset;
+import org.eclipse.papyrus.infra.gmfdiag.css.SimpleSelector;
+import org.eclipse.papyrus.infra.gmfdiag.css.StringValue;
+import org.eclipse.papyrus.infra.gmfdiag.css.Stylesheet;
+import org.eclipse.papyrus.infra.gmfdiag.css.Subterm;
+import org.eclipse.papyrus.infra.gmfdiag.css.Time;
+import org.eclipse.papyrus.infra.gmfdiag.css.UnaryOperator;
+import org.eclipse.papyrus.infra.gmfdiag.css.Uri;
+import org.eclipse.papyrus.infra.gmfdiag.services.CSSGrammarAccess;
+import org.eclipse.xtext.serializer.acceptor.ISemanticSequenceAcceptor;
+import org.eclipse.xtext.serializer.acceptor.SequenceFeeder;
+import org.eclipse.xtext.serializer.diagnostic.ISemanticSequencerDiagnosticProvider;
+import org.eclipse.xtext.serializer.diagnostic.ISerializationDiagnostic.Acceptor;
+import org.eclipse.xtext.serializer.sequencer.AbstractSemanticSequencer;
+import org.eclipse.xtext.serializer.sequencer.GenericSequencer;
+import org.eclipse.xtext.serializer.sequencer.ISemanticNodeProvider.INodesForEObjectProvider;
+import org.eclipse.xtext.serializer.sequencer.ISemanticSequencer;
+import org.eclipse.xtext.serializer.sequencer.ITransientValueService;
+import org.eclipse.xtext.serializer.sequencer.ITransientValueService.ValueTransient;
+
+@SuppressWarnings("restriction")
+public class AbstractCSSSemanticSequencer extends AbstractSemanticSequencer {
+
+ @Inject
+ protected CSSGrammarAccess grammarAccess;
+
+ @Inject
+ protected ISemanticSequencerDiagnosticProvider diagnosticProvider;
+
+ @Inject
+ protected ITransientValueService transientValues;
+
+ @Inject
+ @GenericSequencer
+ protected Provider<ISemanticSequencer> genericSequencerProvider;
+
+ protected ISemanticSequencer genericSequencer;
+
+
+ @Override
+ public void init(ISemanticSequencer sequencer, ISemanticSequenceAcceptor sequenceAcceptor, Acceptor errorAcceptor) {
+ super.init(sequencer, sequenceAcceptor, errorAcceptor);
+ this.genericSequencer = genericSequencerProvider.get();
+ this.genericSequencer.init(sequencer, sequenceAcceptor, errorAcceptor);
+ }
+
+ public void createSequence(EObject context, EObject semanticObject) {
+ if(semanticObject.eClass().getEPackage() == CssPackage.eINSTANCE) switch(semanticObject.eClass().getClassifierID()) {
+ case CssPackage.ANGLE:
+ if(context == grammarAccess.getAngleRule() ||
+ context == grammarAccess.getTermRule()) {
+ sequence_Angle(context, (Angle) semanticObject);
+ return;
+ }
+ else break;
+ case CssPackage.ATTRIBUTE:
+ if(context == grammarAccess.getAttributeRule() ||
+ context == grammarAccess.getSelectorConditionRule()) {
+ sequence_Attribute(context, (Attribute) semanticObject);
+ return;
+ }
+ else break;
+ case CssPackage.ATTRIBUTE_VALUE:
+ if(context == grammarAccess.getAttributeValueRule()) {
+ sequence_AttributeValue(context, (AttributeValue) semanticObject);
+ return;
+ }
+ else break;
+ case CssPackage.CSS_ID:
+ if(context == grammarAccess.getCSSIdRule() ||
+ context == grammarAccess.getSelectorConditionRule()) {
+ sequence_CSSId(context, (CSSId) semanticObject);
+ return;
+ }
+ else break;
+ case CssPackage.CLASS:
+ if(context == grammarAccess.getClassRule() ||
+ context == grammarAccess.getSelectorConditionRule()) {
+ sequence_Class(context, (org.eclipse.papyrus.infra.gmfdiag.css.Class) semanticObject);
+ return;
+ }
+ else break;
+ case CssPackage.COMBINATOR:
+ if(context == grammarAccess.getCombinatorRule()) {
+ sequence_Combinator(context, (Combinator) semanticObject);
+ return;
+ }
+ else break;
+ case CssPackage.COMPOSITE_SELECTOR:
+ if(context == grammarAccess.getCompositeSelectorRule() ||
+ context == grammarAccess.getSelectorRule()) {
+ sequence_CompositeSelector(context, (CompositeSelector) semanticObject);
+ return;
+ }
+ else break;
+ case CssPackage.DECLARATION:
+ if(context == grammarAccess.getDeclarationRule()) {
+ sequence_Declaration(context, (Declaration) semanticObject);
+ return;
+ }
+ else break;
+ case CssPackage.EMS:
+ if(context == grammarAccess.getEmsRule() ||
+ context == grammarAccess.getTermRule()) {
+ sequence_Ems(context, (Ems) semanticObject);
+ return;
+ }
+ else break;
+ case CssPackage.EXPRESSION:
+ if(context == grammarAccess.getExpressionRule()) {
+ sequence_Expression(context, (Expression) semanticObject);
+ return;
+ }
+ else break;
+ case CssPackage.EXS:
+ if(context == grammarAccess.getExsRule() ||
+ context == grammarAccess.getTermRule()) {
+ sequence_Exs(context, (Exs) semanticObject);
+ return;
+ }
+ else break;
+ case CssPackage.FREQUENCY:
+ if(context == grammarAccess.getFrequencyRule() ||
+ context == grammarAccess.getTermRule()) {
+ sequence_Frequency(context, (Frequency) semanticObject);
+ return;
+ }
+ else break;
+ case CssPackage.FUNCTION:
+ if(context == grammarAccess.getFunctionRule() ||
+ context == grammarAccess.getTermRule()) {
+ sequence_Function(context, (Function) semanticObject);
+ return;
+ }
+ else break;
+ case CssPackage.HEX_COLOR:
+ if(context == grammarAccess.getHexColorRule() ||
+ context == grammarAccess.getTermRule()) {
+ sequence_HexColor(context, (HexColor) semanticObject);
+ return;
+ }
+ else break;
+ case CssPackage.IMPORT:
+ if(context == grammarAccess.getImportRule()) {
+ sequence_Import(context, (Import) semanticObject);
+ return;
+ }
+ else break;
+ case CssPackage.LENGTH:
+ if(context == grammarAccess.getLengthRule() ||
+ context == grammarAccess.getTermRule()) {
+ sequence_Length(context, (Length) semanticObject);
+ return;
+ }
+ else break;
+ case CssPackage.MEDIA:
+ if(context == grammarAccess.getContentRule() ||
+ context == grammarAccess.getMediaRule()) {
+ sequence_Media(context, (Media) semanticObject);
+ return;
+ }
+ else break;
+ case CssPackage.NAME:
+ if(context == grammarAccess.getNameRule() ||
+ context == grammarAccess.getTermRule()) {
+ sequence_Name(context, (Name) semanticObject);
+ return;
+ }
+ else break;
+ case CssPackage.NUMBER:
+ if(context == grammarAccess.getNumberRule() ||
+ context == grammarAccess.getTermRule()) {
+ sequence_Number(context, (org.eclipse.papyrus.infra.gmfdiag.css.Number) semanticObject);
+ return;
+ }
+ else break;
+ case CssPackage.PAGE:
+ if(context == grammarAccess.getContentRule() ||
+ context == grammarAccess.getPageRule()) {
+ sequence_Page(context, (Page) semanticObject);
+ return;
+ }
+ else break;
+ case CssPackage.PERCENTAGE:
+ if(context == grammarAccess.getPercentageRule() ||
+ context == grammarAccess.getTermRule()) {
+ sequence_Percentage(context, (Percentage) semanticObject);
+ return;
+ }
+ else break;
+ case CssPackage.PSEUDO:
+ if(context == grammarAccess.getPseudoRule() ||
+ context == grammarAccess.getSelectorConditionRule()) {
+ sequence_Pseudo(context, (Pseudo) semanticObject);
+ return;
+ }
+ else break;
+ case CssPackage.PSEUDO_PAGE:
+ if(context == grammarAccess.getPseudoPageRule()) {
+ sequence_PseudoPage(context, (PseudoPage) semanticObject);
+ return;
+ }
+ else break;
+ case CssPackage.RULESET:
+ if(context == grammarAccess.getContentRule() ||
+ context == grammarAccess.getRulesetRule()) {
+ sequence_Ruleset(context, (Ruleset) semanticObject);
+ return;
+ }
+ else break;
+ case CssPackage.SIMPLE_SELECTOR:
+ if(context == grammarAccess.getSelectorRule() ||
+ context == grammarAccess.getSimpleSelectorRule()) {
+ sequence_SimpleSelector(context, (SimpleSelector) semanticObject);
+ return;
+ }
+ else break;
+ case CssPackage.STRING_VALUE:
+ if(context == grammarAccess.getStringValueRule() ||
+ context == grammarAccess.getTermRule()) {
+ sequence_StringValue(context, (StringValue) semanticObject);
+ return;
+ }
+ else break;
+ case CssPackage.STYLESHEET:
+ if(context == grammarAccess.getStylesheetRule()) {
+ sequence_Stylesheet(context, (Stylesheet) semanticObject);
+ return;
+ }
+ else break;
+ case CssPackage.SUBTERM:
+ if(context == grammarAccess.getSubtermRule()) {
+ sequence_Subterm(context, (Subterm) semanticObject);
+ return;
+ }
+ else break;
+ case CssPackage.TIME:
+ if(context == grammarAccess.getTermRule() ||
+ context == grammarAccess.getTimeRule()) {
+ sequence_Time(context, (Time) semanticObject);
+ return;
+ }
+ else break;
+ case CssPackage.UNARY_OPERATOR:
+ if(context == grammarAccess.getUnaryOperatorRule()) {
+ sequence_UnaryOperator(context, (UnaryOperator) semanticObject);
+ return;
+ }
+ else break;
+ case CssPackage.URI:
+ if(context == grammarAccess.getTermRule() ||
+ context == grammarAccess.getUriRule()) {
+ sequence_Uri(context, (Uri) semanticObject);
+ return;
+ }
+ else break;
+ }
+ if (errorAcceptor != null) errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
+ }
+
+ /**
+ * Constraint:
+ * (op=UnaryOperator? value=T_NUM unit=ANGLE_UNIT)
+ */
+ protected void sequence_Angle(EObject context, Angle semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * (operator=ATTRIBUTE_OP (value=ID | value=STRING))
+ */
+ protected void sequence_AttributeValue(EObject context, AttributeValue semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * (name=ID value=AttributeValue?)
+ */
+ protected void sequence_Attribute(EObject context, Attribute semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * value=HASH
+ */
+ protected void sequence_CSSId(EObject context, CSSId semanticObject) {
+ if(errorAcceptor != null) {
+ if(transientValues.isValueTransient(semanticObject, CssPackage.Literals.CSS_ID__VALUE) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, CssPackage.Literals.CSS_ID__VALUE));
+ }
+ INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+ SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+ feeder.accept(grammarAccess.getCSSIdAccess().getValueHASHTerminalRuleCall_0(), semanticObject.getValue());
+ feeder.finish();
+ }
+
+
+ /**
+ * Constraint:
+ * class=T_CLASS
+ */
+ protected void sequence_Class(EObject context, org.eclipse.papyrus.infra.gmfdiag.css.Class semanticObject) {
+ if(errorAcceptor != null) {
+ if(transientValues.isValueTransient(semanticObject, CssPackage.Literals.CLASS__CLASS) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, CssPackage.Literals.CLASS__CLASS));
+ }
+ INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+ SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+ feeder.accept(grammarAccess.getClassAccess().getClassT_CLASSTerminalRuleCall_0(), semanticObject.getClass_());
+ feeder.finish();
+ }
+
+
+ /**
+ * Constraint:
+ * kind=KIND
+ */
+ protected void sequence_Combinator(EObject context, Combinator semanticObject) {
+ if(errorAcceptor != null) {
+ if(transientValues.isValueTransient(semanticObject, CssPackage.Literals.COMBINATOR__KIND) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, CssPackage.Literals.COMBINATOR__KIND));
+ }
+ INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+ SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+ feeder.accept(grammarAccess.getCombinatorAccess().getKindKINDEnumRuleCall_0_0(), semanticObject.getKind());
+ feeder.finish();
+ }
+
+
+ /**
+ * Constraint:
+ * (left=SimpleSelector combinator=Combinator? right=Selector)
+ */
+ protected void sequence_CompositeSelector(EObject context, CompositeSelector semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * (property=ID expression=Expression important?=T_IMPORTANT?)
+ */
+ protected void sequence_Declaration(EObject context, Declaration semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * (op=UnaryOperator? value=T_NUM unit=EM_UNIT)
+ */
+ protected void sequence_Ems(EObject context, Ems semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * (terms=Term subterms+=Subterm*)
+ */
+ protected void sequence_Expression(EObject context, Expression semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * (op=UnaryOperator? value=T_NUM unit=EX_UNIT)
+ */
+ protected void sequence_Exs(EObject context, Exs semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * (op=UnaryOperator? value=T_NUM unit=FREQ_UNIT)
+ */
+ protected void sequence_Frequency(EObject context, Frequency semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * (name=ID args=Expression)
+ */
+ protected void sequence_Function(EObject context, Function semanticObject) {
+ if(errorAcceptor != null) {
+ if(transientValues.isValueTransient(semanticObject, CssPackage.Literals.FUNCTION__NAME) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, CssPackage.Literals.FUNCTION__NAME));
+ if(transientValues.isValueTransient(semanticObject, CssPackage.Literals.FUNCTION__ARGS) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, CssPackage.Literals.FUNCTION__ARGS));
+ }
+ INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+ SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+ feeder.accept(grammarAccess.getFunctionAccess().getNameIDTerminalRuleCall_0_0(), semanticObject.getName());
+ feeder.accept(grammarAccess.getFunctionAccess().getArgsExpressionParserRuleCall_3_0(), semanticObject.getArgs());
+ feeder.finish();
+ }
+
+
+ /**
+ * Constraint:
+ * value=HASH
+ */
+ protected void sequence_HexColor(EObject context, HexColor semanticObject) {
+ if(errorAcceptor != null) {
+ if(transientValues.isValueTransient(semanticObject, CssPackage.Literals.HEX_COLOR__VALUE) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, CssPackage.Literals.HEX_COLOR__VALUE));
+ }
+ INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+ SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+ feeder.accept(grammarAccess.getHexColorAccess().getValueHASHTerminalRuleCall_0(), semanticObject.getValue());
+ feeder.finish();
+ }
+
+
+ /**
+ * Constraint:
+ * ((string=STRING | uri=Uri) (media+=ID media+=ID*)?)
+ */
+ protected void sequence_Import(EObject context, Import semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * (op=UnaryOperator? value=T_NUM unit=LEN_UNIT)
+ */
+ protected void sequence_Length(EObject context, Length semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * (media+=ID media+=ID* rules+=Ruleset*)
+ */
+ protected void sequence_Media(EObject context, Media semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * value=ID
+ */
+ protected void sequence_Name(EObject context, Name semanticObject) {
+ if(errorAcceptor != null) {
+ if(transientValues.isValueTransient(semanticObject, CssPackage.Literals.NAME__VALUE) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, CssPackage.Literals.NAME__VALUE));
+ }
+ INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+ SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+ feeder.accept(grammarAccess.getNameAccess().getValueIDTerminalRuleCall_0(), semanticObject.getValue());
+ feeder.finish();
+ }
+
+
+ /**
+ * Constraint:
+ * (op=UnaryOperator? value=T_NUM)
+ */
+ protected void sequence_Number(EObject context, org.eclipse.papyrus.infra.gmfdiag.css.Number semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * (pseudo=PseudoPage? declarations+=Declaration? declarations+=Declaration*)
+ */
+ protected void sequence_Page(EObject context, Page semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * (op=UnaryOperator? value=T_NUM unit=PC_UNIT)
+ */
+ protected void sequence_Percentage(EObject context, Percentage semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * id=ID
+ */
+ protected void sequence_PseudoPage(EObject context, PseudoPage semanticObject) {
+ if(errorAcceptor != null) {
+ if(transientValues.isValueTransient(semanticObject, CssPackage.Literals.PSEUDO_PAGE__ID) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, CssPackage.Literals.PSEUDO_PAGE__ID));
+ }
+ INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+ SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+ feeder.accept(grammarAccess.getPseudoPageAccess().getIdIDTerminalRuleCall_1_0(), semanticObject.getId());
+ feeder.finish();
+ }
+
+
+ /**
+ * Constraint:
+ * (pseudo=ID | (pseudo=ID args=ID?))
+ */
+ protected void sequence_Pseudo(EObject context, Pseudo semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * (selectors+=Selector selectors+=Selector* properties+=Declaration? properties+=Declaration*)
+ */
+ protected void sequence_Ruleset(EObject context, Ruleset semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * (((elementName=ID | elementName='*') condition+=SelectorCondition*) | condition+=SelectorCondition+)
+ */
+ protected void sequence_SimpleSelector(EObject context, SimpleSelector semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * value=STRING
+ */
+ protected void sequence_StringValue(EObject context, StringValue semanticObject) {
+ if(errorAcceptor != null) {
+ if(transientValues.isValueTransient(semanticObject, CssPackage.Literals.STRING_VALUE__VALUE) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, CssPackage.Literals.STRING_VALUE__VALUE));
+ }
+ INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+ SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+ feeder.accept(grammarAccess.getStringValueAccess().getValueSTRINGTerminalRuleCall_0(), semanticObject.getValue());
+ feeder.finish();
+ }
+
+
+ /**
+ * Constraint:
+ * (charset=STRING? imports+=Import* contents+=Content*)
+ */
+ protected void sequence_Stylesheet(EObject context, Stylesheet semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * (operator=Operator? term=Term)
+ */
+ protected void sequence_Subterm(EObject context, Subterm semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * (op=UnaryOperator? value=T_NUM unit=TIME_UNIT)
+ */
+ protected void sequence_Time(EObject context, Time semanticObject) {
+ genericSequencer.createSequence(context, semanticObject);
+ }
+
+
+ /**
+ * Constraint:
+ * operator=UNARY
+ */
+ protected void sequence_UnaryOperator(EObject context, UnaryOperator semanticObject) {
+ if(errorAcceptor != null) {
+ if(transientValues.isValueTransient(semanticObject, CssPackage.Literals.UNARY_OPERATOR__OPERATOR) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, CssPackage.Literals.UNARY_OPERATOR__OPERATOR));
+ }
+ INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+ SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+ feeder.accept(grammarAccess.getUnaryOperatorAccess().getOperatorUNARYEnumRuleCall_0(), semanticObject.getOperator());
+ feeder.finish();
+ }
+
+
+ /**
+ * Constraint:
+ * value=STRING
+ */
+ protected void sequence_Uri(EObject context, Uri semanticObject) {
+ if(errorAcceptor != null) {
+ if(transientValues.isValueTransient(semanticObject, CssPackage.Literals.URI__VALUE) == ValueTransient.YES)
+ errorAcceptor.accept(diagnosticProvider.createFeatureValueMissing(semanticObject, CssPackage.Literals.URI__VALUE));
+ }
+ INodesForEObjectProvider nodes = createNodeProvider(semanticObject);
+ SequenceFeeder feeder = createSequencerFeeder(semanticObject, nodes);
+ feeder.accept(grammarAccess.getUriAccess().getValueSTRINGTerminalRuleCall_2_0(), semanticObject.getValue());
+ feeder.finish();
+ }
+}
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/serializer/AbstractCSSSyntacticSequencer.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/serializer/AbstractCSSSyntacticSequencer.java
new file mode 100644
index 00000000000..4cbde1ab08a
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/serializer/AbstractCSSSyntacticSequencer.java
@@ -0,0 +1,557 @@
+package org.eclipse.papyrus.infra.gmfdiag.serializer;
+
+import com.google.inject.Inject;
+import java.util.List;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.infra.gmfdiag.services.CSSGrammarAccess;
+import org.eclipse.xtext.IGrammarAccess;
+import org.eclipse.xtext.RuleCall;
+import org.eclipse.xtext.nodemodel.INode;
+import org.eclipse.xtext.serializer.analysis.GrammarAlias.AbstractElementAlias;
+import org.eclipse.xtext.serializer.analysis.GrammarAlias.AlternativeAlias;
+import org.eclipse.xtext.serializer.analysis.GrammarAlias.GroupAlias;
+import org.eclipse.xtext.serializer.analysis.GrammarAlias.TokenAlias;
+import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynNavigable;
+import org.eclipse.xtext.serializer.analysis.ISyntacticSequencerPDAProvider.ISynTransition;
+import org.eclipse.xtext.serializer.sequencer.AbstractSyntacticSequencer;
+
+@SuppressWarnings("restriction")
+public class AbstractCSSSyntacticSequencer extends AbstractSyntacticSequencer {
+
+ protected CSSGrammarAccess grammarAccess;
+ protected AbstractElementAlias match_AttributeValue_WSTerminalRuleCall_1_a;
+ protected AbstractElementAlias match_AttributeValue_WSTerminalRuleCall_3_a;
+ protected AbstractElementAlias match_Attribute_WSTerminalRuleCall_1_a;
+ protected AbstractElementAlias match_Attribute_WSTerminalRuleCall_3_a;
+ protected AbstractElementAlias match_Combinator_WSTerminalRuleCall_1_a;
+ protected AbstractElementAlias match_CompositeSelector_WSTerminalRuleCall_1_0_p;
+ protected AbstractElementAlias match_CompositeSelector_WSTerminalRuleCall_1_1_0_a;
+ protected AbstractElementAlias match_Declaration_WSTerminalRuleCall_1_a;
+ protected AbstractElementAlias match_Declaration_WSTerminalRuleCall_3_a;
+ protected AbstractElementAlias match_Declaration_WSTerminalRuleCall_5_1_a;
+ protected AbstractElementAlias match_Function_WSTerminalRuleCall_2_a;
+ protected AbstractElementAlias match_Import_WSTerminalRuleCall_1_0_0_a;
+ protected AbstractElementAlias match_Import_WSTerminalRuleCall_2_a;
+ protected AbstractElementAlias match_Import_WSTerminalRuleCall_3_1_a;
+ protected AbstractElementAlias match_Import_WSTerminalRuleCall_3_2_1_a;
+ protected AbstractElementAlias match_Import_WSTerminalRuleCall_5_a;
+ protected AbstractElementAlias match_Media_WSTerminalRuleCall_3_a;
+ protected AbstractElementAlias match_Media_WSTerminalRuleCall_4_1_a;
+ protected AbstractElementAlias match_Media_WSTerminalRuleCall_6_a;
+ protected AbstractElementAlias match_Media_WSTerminalRuleCall_9_a;
+ protected AbstractElementAlias match_Page_WSTerminalRuleCall_2_a;
+ protected AbstractElementAlias match_Page_WSTerminalRuleCall_5_a;
+ protected AbstractElementAlias match_Page_WSTerminalRuleCall_9_a;
+ protected AbstractElementAlias match_Page___SemicolonKeyword_7_0_WSTerminalRuleCall_7_1_a__a;
+ protected AbstractElementAlias match_Page___SemicolonKeyword_7_0_WSTerminalRuleCall_7_1_a__p;
+ protected AbstractElementAlias match_PseudoPage_WSTerminalRuleCall_2_a;
+ protected AbstractElementAlias match_Pseudo_WSTerminalRuleCall_1_1_2_a;
+ protected AbstractElementAlias match_Pseudo_WSTerminalRuleCall_1_1_3_1_a;
+ protected AbstractElementAlias match_Ruleset_WSTerminalRuleCall_1_1_a;
+ protected AbstractElementAlias match_Ruleset_WSTerminalRuleCall_3_a;
+ protected AbstractElementAlias match_Ruleset_WSTerminalRuleCall_7_a;
+ protected AbstractElementAlias match_Ruleset___SemicolonKeyword_5_0_WSTerminalRuleCall_5_1_a__a;
+ protected AbstractElementAlias match_Ruleset___SemicolonKeyword_5_0_WSTerminalRuleCall_5_1_a__p;
+ protected AbstractElementAlias match_Selector_WSTerminalRuleCall_0_1_a;
+ protected AbstractElementAlias match_Stylesheet___CDCTerminalRuleCall_1_2_or_CDOTerminalRuleCall_1_1_or_WSTerminalRuleCall_1_0__a;
+ protected AbstractElementAlias match_Stylesheet___CDCTerminalRuleCall_1_2_or_CDOTerminalRuleCall_1_1_or_WSTerminalRuleCall_1_0__p;
+ protected AbstractElementAlias match_Stylesheet_____CDCTerminalRuleCall_2_1_1_0_WSTerminalRuleCall_2_1_1_1_a___or___CDOTerminalRuleCall_2_1_0_0_WSTerminalRuleCall_2_1_0_1_a____a;
+ protected AbstractElementAlias match_Stylesheet_____CDCTerminalRuleCall_3_1_1_0_WSTerminalRuleCall_3_1_1_1_a___or___CDOTerminalRuleCall_3_1_0_0_WSTerminalRuleCall_3_1_0_1_a____a;
+ protected AbstractElementAlias match_Term_WSTerminalRuleCall_1_a;
+ protected AbstractElementAlias match_Uri_WSTerminalRuleCall_1_q;
+ protected AbstractElementAlias match_Uri_WSTerminalRuleCall_3_q;
+
+ @Inject
+ protected void init(IGrammarAccess access) {
+ grammarAccess = (CSSGrammarAccess) access;
+ match_AttributeValue_WSTerminalRuleCall_1_a = new TokenAlias(true, true, grammarAccess.getAttributeValueAccess().getWSTerminalRuleCall_1());
+ match_AttributeValue_WSTerminalRuleCall_3_a = new TokenAlias(true, true, grammarAccess.getAttributeValueAccess().getWSTerminalRuleCall_3());
+ match_Attribute_WSTerminalRuleCall_1_a = new TokenAlias(true, true, grammarAccess.getAttributeAccess().getWSTerminalRuleCall_1());
+ match_Attribute_WSTerminalRuleCall_3_a = new TokenAlias(true, true, grammarAccess.getAttributeAccess().getWSTerminalRuleCall_3());
+ match_Combinator_WSTerminalRuleCall_1_a = new TokenAlias(true, true, grammarAccess.getCombinatorAccess().getWSTerminalRuleCall_1());
+ match_CompositeSelector_WSTerminalRuleCall_1_0_p = new TokenAlias(true, false, grammarAccess.getCompositeSelectorAccess().getWSTerminalRuleCall_1_0());
+ match_CompositeSelector_WSTerminalRuleCall_1_1_0_a = new TokenAlias(true, true, grammarAccess.getCompositeSelectorAccess().getWSTerminalRuleCall_1_1_0());
+ match_Declaration_WSTerminalRuleCall_1_a = new TokenAlias(true, true, grammarAccess.getDeclarationAccess().getWSTerminalRuleCall_1());
+ match_Declaration_WSTerminalRuleCall_3_a = new TokenAlias(true, true, grammarAccess.getDeclarationAccess().getWSTerminalRuleCall_3());
+ match_Declaration_WSTerminalRuleCall_5_1_a = new TokenAlias(true, true, grammarAccess.getDeclarationAccess().getWSTerminalRuleCall_5_1());
+ match_Function_WSTerminalRuleCall_2_a = new TokenAlias(true, true, grammarAccess.getFunctionAccess().getWSTerminalRuleCall_2());
+ match_Import_WSTerminalRuleCall_1_0_0_a = new TokenAlias(true, true, grammarAccess.getImportAccess().getWSTerminalRuleCall_1_0_0());
+ match_Import_WSTerminalRuleCall_2_a = new TokenAlias(true, true, grammarAccess.getImportAccess().getWSTerminalRuleCall_2());
+ match_Import_WSTerminalRuleCall_3_1_a = new TokenAlias(true, true, grammarAccess.getImportAccess().getWSTerminalRuleCall_3_1());
+ match_Import_WSTerminalRuleCall_3_2_1_a = new TokenAlias(true, true, grammarAccess.getImportAccess().getWSTerminalRuleCall_3_2_1());
+ match_Import_WSTerminalRuleCall_5_a = new TokenAlias(true, true, grammarAccess.getImportAccess().getWSTerminalRuleCall_5());
+ match_Media_WSTerminalRuleCall_3_a = new TokenAlias(true, true, grammarAccess.getMediaAccess().getWSTerminalRuleCall_3());
+ match_Media_WSTerminalRuleCall_4_1_a = new TokenAlias(true, true, grammarAccess.getMediaAccess().getWSTerminalRuleCall_4_1());
+ match_Media_WSTerminalRuleCall_6_a = new TokenAlias(true, true, grammarAccess.getMediaAccess().getWSTerminalRuleCall_6());
+ match_Media_WSTerminalRuleCall_9_a = new TokenAlias(true, true, grammarAccess.getMediaAccess().getWSTerminalRuleCall_9());
+ match_Page_WSTerminalRuleCall_2_a = new TokenAlias(true, true, grammarAccess.getPageAccess().getWSTerminalRuleCall_2());
+ match_Page_WSTerminalRuleCall_5_a = new TokenAlias(true, true, grammarAccess.getPageAccess().getWSTerminalRuleCall_5());
+ match_Page_WSTerminalRuleCall_9_a = new TokenAlias(true, true, grammarAccess.getPageAccess().getWSTerminalRuleCall_9());
+ match_Page___SemicolonKeyword_7_0_WSTerminalRuleCall_7_1_a__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getPageAccess().getSemicolonKeyword_7_0()), new TokenAlias(true, true, grammarAccess.getPageAccess().getWSTerminalRuleCall_7_1()));
+ match_Page___SemicolonKeyword_7_0_WSTerminalRuleCall_7_1_a__p = new GroupAlias(true, false, new TokenAlias(false, false, grammarAccess.getPageAccess().getSemicolonKeyword_7_0()), new TokenAlias(true, true, grammarAccess.getPageAccess().getWSTerminalRuleCall_7_1()));
+ match_PseudoPage_WSTerminalRuleCall_2_a = new TokenAlias(true, true, grammarAccess.getPseudoPageAccess().getWSTerminalRuleCall_2());
+ match_Pseudo_WSTerminalRuleCall_1_1_2_a = new TokenAlias(true, true, grammarAccess.getPseudoAccess().getWSTerminalRuleCall_1_1_2());
+ match_Pseudo_WSTerminalRuleCall_1_1_3_1_a = new TokenAlias(true, true, grammarAccess.getPseudoAccess().getWSTerminalRuleCall_1_1_3_1());
+ match_Ruleset_WSTerminalRuleCall_1_1_a = new TokenAlias(true, true, grammarAccess.getRulesetAccess().getWSTerminalRuleCall_1_1());
+ match_Ruleset_WSTerminalRuleCall_3_a = new TokenAlias(true, true, grammarAccess.getRulesetAccess().getWSTerminalRuleCall_3());
+ match_Ruleset_WSTerminalRuleCall_7_a = new TokenAlias(true, true, grammarAccess.getRulesetAccess().getWSTerminalRuleCall_7());
+ match_Ruleset___SemicolonKeyword_5_0_WSTerminalRuleCall_5_1_a__a = new GroupAlias(true, true, new TokenAlias(false, false, grammarAccess.getRulesetAccess().getSemicolonKeyword_5_0()), new TokenAlias(true, true, grammarAccess.getRulesetAccess().getWSTerminalRuleCall_5_1()));
+ match_Ruleset___SemicolonKeyword_5_0_WSTerminalRuleCall_5_1_a__p = new GroupAlias(true, false, new TokenAlias(false, false, grammarAccess.getRulesetAccess().getSemicolonKeyword_5_0()), new TokenAlias(true, true, grammarAccess.getRulesetAccess().getWSTerminalRuleCall_5_1()));
+ match_Selector_WSTerminalRuleCall_0_1_a = new TokenAlias(true, true, grammarAccess.getSelectorAccess().getWSTerminalRuleCall_0_1());
+ match_Stylesheet___CDCTerminalRuleCall_1_2_or_CDOTerminalRuleCall_1_1_or_WSTerminalRuleCall_1_0__a = new AlternativeAlias(true, true, new TokenAlias(false, false, grammarAccess.getStylesheetAccess().getCDCTerminalRuleCall_1_2()), new TokenAlias(false, false, grammarAccess.getStylesheetAccess().getCDOTerminalRuleCall_1_1()), new TokenAlias(false, false, grammarAccess.getStylesheetAccess().getWSTerminalRuleCall_1_0()));
+ match_Stylesheet___CDCTerminalRuleCall_1_2_or_CDOTerminalRuleCall_1_1_or_WSTerminalRuleCall_1_0__p = new AlternativeAlias(true, false, new TokenAlias(false, false, grammarAccess.getStylesheetAccess().getCDCTerminalRuleCall_1_2()), new TokenAlias(false, false, grammarAccess.getStylesheetAccess().getCDOTerminalRuleCall_1_1()), new TokenAlias(false, false, grammarAccess.getStylesheetAccess().getWSTerminalRuleCall_1_0()));
+ match_Stylesheet_____CDCTerminalRuleCall_2_1_1_0_WSTerminalRuleCall_2_1_1_1_a___or___CDOTerminalRuleCall_2_1_0_0_WSTerminalRuleCall_2_1_0_1_a____a = new AlternativeAlias(true, true, new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getStylesheetAccess().getCDCTerminalRuleCall_2_1_1_0()), new TokenAlias(true, true, grammarAccess.getStylesheetAccess().getWSTerminalRuleCall_2_1_1_1())), new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getStylesheetAccess().getCDOTerminalRuleCall_2_1_0_0()), new TokenAlias(true, true, grammarAccess.getStylesheetAccess().getWSTerminalRuleCall_2_1_0_1())));
+ match_Stylesheet_____CDCTerminalRuleCall_3_1_1_0_WSTerminalRuleCall_3_1_1_1_a___or___CDOTerminalRuleCall_3_1_0_0_WSTerminalRuleCall_3_1_0_1_a____a = new AlternativeAlias(true, true, new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getStylesheetAccess().getCDCTerminalRuleCall_3_1_1_0()), new TokenAlias(true, true, grammarAccess.getStylesheetAccess().getWSTerminalRuleCall_3_1_1_1())), new GroupAlias(false, false, new TokenAlias(false, false, grammarAccess.getStylesheetAccess().getCDOTerminalRuleCall_3_1_0_0()), new TokenAlias(true, true, grammarAccess.getStylesheetAccess().getWSTerminalRuleCall_3_1_0_1())));
+ match_Term_WSTerminalRuleCall_1_a = new TokenAlias(true, true, grammarAccess.getTermAccess().getWSTerminalRuleCall_1());
+ match_Uri_WSTerminalRuleCall_1_q = new TokenAlias(false, true, grammarAccess.getUriAccess().getWSTerminalRuleCall_1());
+ match_Uri_WSTerminalRuleCall_3_q = new TokenAlias(false, true, grammarAccess.getUriAccess().getWSTerminalRuleCall_3());
+ }
+
+ @Override
+ protected String getUnassignedRuleCallToken(EObject semanticObject, RuleCall ruleCall, INode node) {
+ if(ruleCall.getRule() == grammarAccess.getCDCRule())
+ return getCDCToken(semanticObject, ruleCall, node);
+ else if(ruleCall.getRule() == grammarAccess.getCDORule())
+ return getCDOToken(semanticObject, ruleCall, node);
+ else if(ruleCall.getRule() == grammarAccess.getWSRule())
+ return getWSToken(semanticObject, ruleCall, node);
+ return "";
+ }
+
+ protected String getCDCToken(EObject semanticObject, RuleCall ruleCall, INode node) {
+ if (node != null)
+ return getTokenText(node);
+ return "-->";
+ }
+ protected String getCDOToken(EObject semanticObject, RuleCall ruleCall, INode node) {
+ if (node != null)
+ return getTokenText(node);
+ return "<!--";
+ }
+ protected String getWSToken(EObject semanticObject, RuleCall ruleCall, INode node) {
+ if (node != null)
+ return getTokenText(node);
+ return " ";
+ }
+
+ @Override
+ protected void emitUnassignedTokens(EObject semanticObject, ISynTransition transition, INode fromNode, INode toNode) {
+ if (transition.getAmbiguousSyntaxes().isEmpty()) return;
+ List<INode> transitionNodes = collectNodes(fromNode, toNode);
+ for (AbstractElementAlias syntax : transition.getAmbiguousSyntaxes()) {
+ List<INode> syntaxNodes = getNodesFor(transitionNodes, syntax);
+ if(match_AttributeValue_WSTerminalRuleCall_1_a.equals(syntax))
+ emit_AttributeValue_WSTerminalRuleCall_1_a(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_AttributeValue_WSTerminalRuleCall_3_a.equals(syntax))
+ emit_AttributeValue_WSTerminalRuleCall_3_a(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_Attribute_WSTerminalRuleCall_1_a.equals(syntax))
+ emit_Attribute_WSTerminalRuleCall_1_a(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_Attribute_WSTerminalRuleCall_3_a.equals(syntax))
+ emit_Attribute_WSTerminalRuleCall_3_a(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_Combinator_WSTerminalRuleCall_1_a.equals(syntax))
+ emit_Combinator_WSTerminalRuleCall_1_a(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_CompositeSelector_WSTerminalRuleCall_1_0_p.equals(syntax))
+ emit_CompositeSelector_WSTerminalRuleCall_1_0_p(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_CompositeSelector_WSTerminalRuleCall_1_1_0_a.equals(syntax))
+ emit_CompositeSelector_WSTerminalRuleCall_1_1_0_a(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_Declaration_WSTerminalRuleCall_1_a.equals(syntax))
+ emit_Declaration_WSTerminalRuleCall_1_a(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_Declaration_WSTerminalRuleCall_3_a.equals(syntax))
+ emit_Declaration_WSTerminalRuleCall_3_a(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_Declaration_WSTerminalRuleCall_5_1_a.equals(syntax))
+ emit_Declaration_WSTerminalRuleCall_5_1_a(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_Function_WSTerminalRuleCall_2_a.equals(syntax))
+ emit_Function_WSTerminalRuleCall_2_a(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_Import_WSTerminalRuleCall_1_0_0_a.equals(syntax))
+ emit_Import_WSTerminalRuleCall_1_0_0_a(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_Import_WSTerminalRuleCall_2_a.equals(syntax))
+ emit_Import_WSTerminalRuleCall_2_a(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_Import_WSTerminalRuleCall_3_1_a.equals(syntax))
+ emit_Import_WSTerminalRuleCall_3_1_a(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_Import_WSTerminalRuleCall_3_2_1_a.equals(syntax))
+ emit_Import_WSTerminalRuleCall_3_2_1_a(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_Import_WSTerminalRuleCall_5_a.equals(syntax))
+ emit_Import_WSTerminalRuleCall_5_a(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_Media_WSTerminalRuleCall_3_a.equals(syntax))
+ emit_Media_WSTerminalRuleCall_3_a(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_Media_WSTerminalRuleCall_4_1_a.equals(syntax))
+ emit_Media_WSTerminalRuleCall_4_1_a(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_Media_WSTerminalRuleCall_6_a.equals(syntax))
+ emit_Media_WSTerminalRuleCall_6_a(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_Media_WSTerminalRuleCall_9_a.equals(syntax))
+ emit_Media_WSTerminalRuleCall_9_a(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_Page_WSTerminalRuleCall_2_a.equals(syntax))
+ emit_Page_WSTerminalRuleCall_2_a(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_Page_WSTerminalRuleCall_5_a.equals(syntax))
+ emit_Page_WSTerminalRuleCall_5_a(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_Page_WSTerminalRuleCall_9_a.equals(syntax))
+ emit_Page_WSTerminalRuleCall_9_a(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_Page___SemicolonKeyword_7_0_WSTerminalRuleCall_7_1_a__a.equals(syntax))
+ emit_Page___SemicolonKeyword_7_0_WSTerminalRuleCall_7_1_a__a(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_Page___SemicolonKeyword_7_0_WSTerminalRuleCall_7_1_a__p.equals(syntax))
+ emit_Page___SemicolonKeyword_7_0_WSTerminalRuleCall_7_1_a__p(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_PseudoPage_WSTerminalRuleCall_2_a.equals(syntax))
+ emit_PseudoPage_WSTerminalRuleCall_2_a(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_Pseudo_WSTerminalRuleCall_1_1_2_a.equals(syntax))
+ emit_Pseudo_WSTerminalRuleCall_1_1_2_a(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_Pseudo_WSTerminalRuleCall_1_1_3_1_a.equals(syntax))
+ emit_Pseudo_WSTerminalRuleCall_1_1_3_1_a(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_Ruleset_WSTerminalRuleCall_1_1_a.equals(syntax))
+ emit_Ruleset_WSTerminalRuleCall_1_1_a(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_Ruleset_WSTerminalRuleCall_3_a.equals(syntax))
+ emit_Ruleset_WSTerminalRuleCall_3_a(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_Ruleset_WSTerminalRuleCall_7_a.equals(syntax))
+ emit_Ruleset_WSTerminalRuleCall_7_a(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_Ruleset___SemicolonKeyword_5_0_WSTerminalRuleCall_5_1_a__a.equals(syntax))
+ emit_Ruleset___SemicolonKeyword_5_0_WSTerminalRuleCall_5_1_a__a(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_Ruleset___SemicolonKeyword_5_0_WSTerminalRuleCall_5_1_a__p.equals(syntax))
+ emit_Ruleset___SemicolonKeyword_5_0_WSTerminalRuleCall_5_1_a__p(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_Selector_WSTerminalRuleCall_0_1_a.equals(syntax))
+ emit_Selector_WSTerminalRuleCall_0_1_a(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_Stylesheet___CDCTerminalRuleCall_1_2_or_CDOTerminalRuleCall_1_1_or_WSTerminalRuleCall_1_0__a.equals(syntax))
+ emit_Stylesheet___CDCTerminalRuleCall_1_2_or_CDOTerminalRuleCall_1_1_or_WSTerminalRuleCall_1_0__a(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_Stylesheet___CDCTerminalRuleCall_1_2_or_CDOTerminalRuleCall_1_1_or_WSTerminalRuleCall_1_0__p.equals(syntax))
+ emit_Stylesheet___CDCTerminalRuleCall_1_2_or_CDOTerminalRuleCall_1_1_or_WSTerminalRuleCall_1_0__p(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_Stylesheet_____CDCTerminalRuleCall_2_1_1_0_WSTerminalRuleCall_2_1_1_1_a___or___CDOTerminalRuleCall_2_1_0_0_WSTerminalRuleCall_2_1_0_1_a____a.equals(syntax))
+ emit_Stylesheet_____CDCTerminalRuleCall_2_1_1_0_WSTerminalRuleCall_2_1_1_1_a___or___CDOTerminalRuleCall_2_1_0_0_WSTerminalRuleCall_2_1_0_1_a____a(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_Stylesheet_____CDCTerminalRuleCall_3_1_1_0_WSTerminalRuleCall_3_1_1_1_a___or___CDOTerminalRuleCall_3_1_0_0_WSTerminalRuleCall_3_1_0_1_a____a.equals(syntax))
+ emit_Stylesheet_____CDCTerminalRuleCall_3_1_1_0_WSTerminalRuleCall_3_1_1_1_a___or___CDOTerminalRuleCall_3_1_0_0_WSTerminalRuleCall_3_1_0_1_a____a(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_Term_WSTerminalRuleCall_1_a.equals(syntax))
+ emit_Term_WSTerminalRuleCall_1_a(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_Uri_WSTerminalRuleCall_1_q.equals(syntax))
+ emit_Uri_WSTerminalRuleCall_1_q(semanticObject, getLastNavigableState(), syntaxNodes);
+ else if(match_Uri_WSTerminalRuleCall_3_q.equals(syntax))
+ emit_Uri_WSTerminalRuleCall_3_q(semanticObject, getLastNavigableState(), syntaxNodes);
+ else acceptNodes(getLastNavigableState(), syntaxNodes);
+ }
+ }
+
+ /**
+ * Syntax:
+ * WS*
+ */
+ protected void emit_AttributeValue_WSTerminalRuleCall_1_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * WS*
+ */
+ protected void emit_AttributeValue_WSTerminalRuleCall_3_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * WS*
+ */
+ protected void emit_Attribute_WSTerminalRuleCall_1_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * WS*
+ */
+ protected void emit_Attribute_WSTerminalRuleCall_3_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * WS*
+ */
+ protected void emit_Combinator_WSTerminalRuleCall_1_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * WS+
+ */
+ protected void emit_CompositeSelector_WSTerminalRuleCall_1_0_p(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * WS*
+ */
+ protected void emit_CompositeSelector_WSTerminalRuleCall_1_1_0_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * WS*
+ */
+ protected void emit_Declaration_WSTerminalRuleCall_1_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * WS*
+ */
+ protected void emit_Declaration_WSTerminalRuleCall_3_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * WS*
+ */
+ protected void emit_Declaration_WSTerminalRuleCall_5_1_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * WS*
+ */
+ protected void emit_Function_WSTerminalRuleCall_2_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * WS*
+ */
+ protected void emit_Import_WSTerminalRuleCall_1_0_0_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * WS*
+ */
+ protected void emit_Import_WSTerminalRuleCall_2_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * WS*
+ */
+ protected void emit_Import_WSTerminalRuleCall_3_1_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * WS*
+ */
+ protected void emit_Import_WSTerminalRuleCall_3_2_1_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * WS*
+ */
+ protected void emit_Import_WSTerminalRuleCall_5_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * WS*
+ */
+ protected void emit_Media_WSTerminalRuleCall_3_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * WS*
+ */
+ protected void emit_Media_WSTerminalRuleCall_4_1_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * WS*
+ */
+ protected void emit_Media_WSTerminalRuleCall_6_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * WS*
+ */
+ protected void emit_Media_WSTerminalRuleCall_9_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * WS*
+ */
+ protected void emit_Page_WSTerminalRuleCall_2_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * WS*
+ */
+ protected void emit_Page_WSTerminalRuleCall_5_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * WS*
+ */
+ protected void emit_Page_WSTerminalRuleCall_9_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * (';' WS*)*
+ */
+ protected void emit_Page___SemicolonKeyword_7_0_WSTerminalRuleCall_7_1_a__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * (';' WS*)+
+ */
+ protected void emit_Page___SemicolonKeyword_7_0_WSTerminalRuleCall_7_1_a__p(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * WS*
+ */
+ protected void emit_PseudoPage_WSTerminalRuleCall_2_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * WS*
+ */
+ protected void emit_Pseudo_WSTerminalRuleCall_1_1_2_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * WS*
+ */
+ protected void emit_Pseudo_WSTerminalRuleCall_1_1_3_1_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * WS*
+ */
+ protected void emit_Ruleset_WSTerminalRuleCall_1_1_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * WS*
+ */
+ protected void emit_Ruleset_WSTerminalRuleCall_3_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * WS*
+ */
+ protected void emit_Ruleset_WSTerminalRuleCall_7_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * (';' WS*)*
+ */
+ protected void emit_Ruleset___SemicolonKeyword_5_0_WSTerminalRuleCall_5_1_a__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * (';' WS*)+
+ */
+ protected void emit_Ruleset___SemicolonKeyword_5_0_WSTerminalRuleCall_5_1_a__p(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * WS*
+ */
+ protected void emit_Selector_WSTerminalRuleCall_0_1_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * (CDC | WS | CDO)*
+ */
+ protected void emit_Stylesheet___CDCTerminalRuleCall_1_2_or_CDOTerminalRuleCall_1_1_or_WSTerminalRuleCall_1_0__a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * (CDC | CDO | WS)+
+ */
+ protected void emit_Stylesheet___CDCTerminalRuleCall_1_2_or_CDOTerminalRuleCall_1_1_or_WSTerminalRuleCall_1_0__p(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * ((CDO WS*) | (CDC WS*))*
+ */
+ protected void emit_Stylesheet_____CDCTerminalRuleCall_2_1_1_0_WSTerminalRuleCall_2_1_1_1_a___or___CDOTerminalRuleCall_2_1_0_0_WSTerminalRuleCall_2_1_0_1_a____a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * ((CDO WS*) | (CDC WS*))*
+ */
+ protected void emit_Stylesheet_____CDCTerminalRuleCall_3_1_1_0_WSTerminalRuleCall_3_1_1_1_a___or___CDOTerminalRuleCall_3_1_0_0_WSTerminalRuleCall_3_1_0_1_a____a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * WS*
+ */
+ protected void emit_Term_WSTerminalRuleCall_1_a(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * WS?
+ */
+ protected void emit_Uri_WSTerminalRuleCall_1_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+ /**
+ * Syntax:
+ * WS?
+ */
+ protected void emit_Uri_WSTerminalRuleCall_3_q(EObject semanticObject, ISynNavigable transition, List<INode> nodes) {
+ acceptNodes(transition, nodes);
+ }
+
+}
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/services/CSSGrammarAccess.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/services/CSSGrammarAccess.java
new file mode 100644
index 00000000000..52b345f8f25
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/services/CSSGrammarAccess.java
@@ -0,0 +1,2244 @@
+/*
+* generated by Xtext
+*/
+
+package org.eclipse.papyrus.infra.gmfdiag.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.*;
+
+
+@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 Group cGroup_0 = (Group)cGroup.eContents().get(0);
+ private final Keyword cCharsetKeyword_0_0 = (Keyword)cGroup_0.eContents().get(0);
+ private final Assignment cCharsetAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1);
+ private final RuleCall cCharsetSTRINGTerminalRuleCall_0_1_0 = (RuleCall)cCharsetAssignment_0_1.eContents().get(0);
+ private final Keyword cSemicolonKeyword_0_2 = (Keyword)cGroup_0.eContents().get(2);
+ private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
+ private final RuleCall cWSTerminalRuleCall_1_0 = (RuleCall)cAlternatives_1.eContents().get(0);
+ private final RuleCall cCDOTerminalRuleCall_1_1 = (RuleCall)cAlternatives_1.eContents().get(1);
+ private final RuleCall cCDCTerminalRuleCall_1_2 = (RuleCall)cAlternatives_1.eContents().get(2);
+ private final Group cGroup_2 = (Group)cGroup.eContents().get(2);
+ private final Assignment cImportsAssignment_2_0 = (Assignment)cGroup_2.eContents().get(0);
+ private final RuleCall cImportsImportParserRuleCall_2_0_0 = (RuleCall)cImportsAssignment_2_0.eContents().get(0);
+ private final Alternatives cAlternatives_2_1 = (Alternatives)cGroup_2.eContents().get(1);
+ private final Group cGroup_2_1_0 = (Group)cAlternatives_2_1.eContents().get(0);
+ private final RuleCall cCDOTerminalRuleCall_2_1_0_0 = (RuleCall)cGroup_2_1_0.eContents().get(0);
+ private final RuleCall cWSTerminalRuleCall_2_1_0_1 = (RuleCall)cGroup_2_1_0.eContents().get(1);
+ private final Group cGroup_2_1_1 = (Group)cAlternatives_2_1.eContents().get(1);
+ private final RuleCall cCDCTerminalRuleCall_2_1_1_0 = (RuleCall)cGroup_2_1_1.eContents().get(0);
+ private final RuleCall cWSTerminalRuleCall_2_1_1_1 = (RuleCall)cGroup_2_1_1.eContents().get(1);
+ private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
+ private final Assignment cContentsAssignment_3_0 = (Assignment)cGroup_3.eContents().get(0);
+ private final RuleCall cContentsContentParserRuleCall_3_0_0 = (RuleCall)cContentsAssignment_3_0.eContents().get(0);
+ private final Alternatives cAlternatives_3_1 = (Alternatives)cGroup_3.eContents().get(1);
+ private final Group cGroup_3_1_0 = (Group)cAlternatives_3_1.eContents().get(0);
+ private final RuleCall cCDOTerminalRuleCall_3_1_0_0 = (RuleCall)cGroup_3_1_0.eContents().get(0);
+ private final RuleCall cWSTerminalRuleCall_3_1_0_1 = (RuleCall)cGroup_3_1_0.eContents().get(1);
+ private final Group cGroup_3_1_1 = (Group)cAlternatives_3_1.eContents().get(1);
+ private final RuleCall cCDCTerminalRuleCall_3_1_1_0 = (RuleCall)cGroup_3_1_1.eContents().get(0);
+ private final RuleCall cWSTerminalRuleCall_3_1_1_1 = (RuleCall)cGroup_3_1_1.eContents().get(1);
+
+ //Stylesheet:
+ // ("@charset " charset=STRING ";")? (WS | CDO | CDC)* (imports+=Import (CDO WS* | CDC WS*)*)* (contents+=Content (CDO
+ // WS* | CDC WS*)*)*;
+ public ParserRule getRule() { return rule; }
+
+ //("@charset " charset=STRING ";")? (WS | CDO | CDC)* (imports+=Import (CDO WS* | CDC WS*)*)* (contents+=Content (CDO WS*
+ //| CDC WS*)*)*
+ public Group getGroup() { return cGroup; }
+
+ //("@charset " charset=STRING ";")?
+ public Group getGroup_0() { return cGroup_0; }
+
+ //"@charset "
+ public Keyword getCharsetKeyword_0_0() { return cCharsetKeyword_0_0; }
+
+ //charset=STRING
+ public Assignment getCharsetAssignment_0_1() { return cCharsetAssignment_0_1; }
+
+ //STRING
+ public RuleCall getCharsetSTRINGTerminalRuleCall_0_1_0() { return cCharsetSTRINGTerminalRuleCall_0_1_0; }
+
+ //";"
+ public Keyword getSemicolonKeyword_0_2() { return cSemicolonKeyword_0_2; }
+
+ //(WS | CDO | CDC)*
+ public Alternatives getAlternatives_1() { return cAlternatives_1; }
+
+ //WS
+ public RuleCall getWSTerminalRuleCall_1_0() { return cWSTerminalRuleCall_1_0; }
+
+ //CDO
+ public RuleCall getCDOTerminalRuleCall_1_1() { return cCDOTerminalRuleCall_1_1; }
+
+ //CDC
+ public RuleCall getCDCTerminalRuleCall_1_2() { return cCDCTerminalRuleCall_1_2; }
+
+ //(imports+=Import (CDO WS* | CDC WS*)*)*
+ public Group getGroup_2() { return cGroup_2; }
+
+ //imports+=Import
+ public Assignment getImportsAssignment_2_0() { return cImportsAssignment_2_0; }
+
+ //Import
+ public RuleCall getImportsImportParserRuleCall_2_0_0() { return cImportsImportParserRuleCall_2_0_0; }
+
+ //(CDO WS* | CDC WS*)*
+ public Alternatives getAlternatives_2_1() { return cAlternatives_2_1; }
+
+ //CDO WS*
+ public Group getGroup_2_1_0() { return cGroup_2_1_0; }
+
+ //CDO
+ public RuleCall getCDOTerminalRuleCall_2_1_0_0() { return cCDOTerminalRuleCall_2_1_0_0; }
+
+ //WS*
+ public RuleCall getWSTerminalRuleCall_2_1_0_1() { return cWSTerminalRuleCall_2_1_0_1; }
+
+ //CDC WS*
+ public Group getGroup_2_1_1() { return cGroup_2_1_1; }
+
+ //CDC
+ public RuleCall getCDCTerminalRuleCall_2_1_1_0() { return cCDCTerminalRuleCall_2_1_1_0; }
+
+ //WS*
+ public RuleCall getWSTerminalRuleCall_2_1_1_1() { return cWSTerminalRuleCall_2_1_1_1; }
+
+ //(contents+=Content (CDO WS* | CDC WS*)*)*
+ public Group getGroup_3() { return cGroup_3; }
+
+ //contents+=Content
+ public Assignment getContentsAssignment_3_0() { return cContentsAssignment_3_0; }
+
+ //Content
+ public RuleCall getContentsContentParserRuleCall_3_0_0() { return cContentsContentParserRuleCall_3_0_0; }
+
+ //(CDO WS* | CDC WS*)*
+ public Alternatives getAlternatives_3_1() { return cAlternatives_3_1; }
+
+ //CDO WS*
+ public Group getGroup_3_1_0() { return cGroup_3_1_0; }
+
+ //CDO
+ public RuleCall getCDOTerminalRuleCall_3_1_0_0() { return cCDOTerminalRuleCall_3_1_0_0; }
+
+ //WS*
+ public RuleCall getWSTerminalRuleCall_3_1_0_1() { return cWSTerminalRuleCall_3_1_0_1; }
+
+ //CDC WS*
+ public Group getGroup_3_1_1() { return cGroup_3_1_1; }
+
+ //CDC
+ public RuleCall getCDCTerminalRuleCall_3_1_1_0() { return cCDCTerminalRuleCall_3_1_1_0; }
+
+ //WS*
+ public RuleCall getWSTerminalRuleCall_3_1_1_1() { return cWSTerminalRuleCall_3_1_1_1; }
+ }
+
+ public class ContentElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Content");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final RuleCall cRulesetParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+ private final RuleCall cMediaParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+ private final RuleCall cPageParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
+
+ //Content:
+ // Ruleset | Media | Page;
+ public ParserRule getRule() { return rule; }
+
+ //Ruleset | Media | Page
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //Ruleset
+ public RuleCall getRulesetParserRuleCall_0() { return cRulesetParserRuleCall_0; }
+
+ //Media
+ public RuleCall getMediaParserRuleCall_1() { return cMediaParserRuleCall_1; }
+
+ //Page
+ public RuleCall getPageParserRuleCall_2() { return cPageParserRuleCall_2; }
+ }
+
+ public class ImportElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "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 Group cGroup_1_0 = (Group)cAlternatives_1.eContents().get(0);
+ private final RuleCall cWSTerminalRuleCall_1_0_0 = (RuleCall)cGroup_1_0.eContents().get(0);
+ private final Assignment cStringAssignment_1_0_1 = (Assignment)cGroup_1_0.eContents().get(1);
+ private final RuleCall cStringSTRINGTerminalRuleCall_1_0_1_0 = (RuleCall)cStringAssignment_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 Assignment cUriAssignment_1_1_1 = (Assignment)cGroup_1_1.eContents().get(1);
+ private final RuleCall cUriUriParserRuleCall_1_1_1_0 = (RuleCall)cUriAssignment_1_1_1.eContents().get(0);
+ private final RuleCall cWSTerminalRuleCall_2 = (RuleCall)cGroup.eContents().get(2);
+ private final Group cGroup_3 = (Group)cGroup.eContents().get(3);
+ private final Assignment cMediaAssignment_3_0 = (Assignment)cGroup_3.eContents().get(0);
+ private final RuleCall cMediaIDTerminalRuleCall_3_0_0 = (RuleCall)cMediaAssignment_3_0.eContents().get(0);
+ private final RuleCall cWSTerminalRuleCall_3_1 = (RuleCall)cGroup_3.eContents().get(1);
+ private final Group cGroup_3_2 = (Group)cGroup_3.eContents().get(2);
+ private final Keyword cCommaKeyword_3_2_0 = (Keyword)cGroup_3_2.eContents().get(0);
+ private final RuleCall cWSTerminalRuleCall_3_2_1 = (RuleCall)cGroup_3_2.eContents().get(1);
+ private final Assignment cMediaAssignment_3_2_2 = (Assignment)cGroup_3_2.eContents().get(2);
+ private final RuleCall cMediaIDTerminalRuleCall_3_2_2_0 = (RuleCall)cMediaAssignment_3_2_2.eContents().get(0);
+ private final Keyword cSemicolonKeyword_4 = (Keyword)cGroup.eContents().get(4);
+ private final RuleCall cWSTerminalRuleCall_5 = (RuleCall)cGroup.eContents().get(5);
+
+ //Import:
+ // "@import" (WS* string=STRING | WS uri=Uri) WS* (media+=ID WS* ("," WS* media+=ID)*)? ";" WS*;
+ public ParserRule getRule() { return rule; }
+
+ //"@import" (WS* string=STRING | WS uri=Uri) WS* (media+=ID WS* ("," WS* media+=ID)*)? ";" WS*
+ public Group getGroup() { return cGroup; }
+
+ //"@import"
+ public Keyword getImportKeyword_0() { return cImportKeyword_0; }
+
+ //WS* string=STRING | WS uri=Uri
+ public Alternatives getAlternatives_1() { return cAlternatives_1; }
+
+ //WS* string=STRING
+ public Group getGroup_1_0() { return cGroup_1_0; }
+
+ //WS*
+ public RuleCall getWSTerminalRuleCall_1_0_0() { return cWSTerminalRuleCall_1_0_0; }
+
+ //string=STRING
+ public Assignment getStringAssignment_1_0_1() { return cStringAssignment_1_0_1; }
+
+ //STRING
+ public RuleCall getStringSTRINGTerminalRuleCall_1_0_1_0() { return cStringSTRINGTerminalRuleCall_1_0_1_0; }
+
+ //WS uri=Uri
+ public Group getGroup_1_1() { return cGroup_1_1; }
+
+ //WS
+ public RuleCall getWSTerminalRuleCall_1_1_0() { return cWSTerminalRuleCall_1_1_0; }
+
+ //uri=Uri
+ public Assignment getUriAssignment_1_1_1() { return cUriAssignment_1_1_1; }
+
+ //Uri
+ public RuleCall getUriUriParserRuleCall_1_1_1_0() { return cUriUriParserRuleCall_1_1_1_0; }
+
+ //WS*
+ public RuleCall getWSTerminalRuleCall_2() { return cWSTerminalRuleCall_2; }
+
+ //(media+=ID WS* ("," WS* media+=ID)*)?
+ public Group getGroup_3() { return cGroup_3; }
+
+ //media+=ID
+ public Assignment getMediaAssignment_3_0() { return cMediaAssignment_3_0; }
+
+ //ID
+ public RuleCall getMediaIDTerminalRuleCall_3_0_0() { return cMediaIDTerminalRuleCall_3_0_0; }
+
+ //WS*
+ public RuleCall getWSTerminalRuleCall_3_1() { return cWSTerminalRuleCall_3_1; }
+
+ //("," WS* media+=ID)*
+ public Group getGroup_3_2() { return cGroup_3_2; }
+
+ //","
+ public Keyword getCommaKeyword_3_2_0() { return cCommaKeyword_3_2_0; }
+
+ //WS*
+ public RuleCall getWSTerminalRuleCall_3_2_1() { return cWSTerminalRuleCall_3_2_1; }
+
+ //media+=ID
+ public Assignment getMediaAssignment_3_2_2() { return cMediaAssignment_3_2_2; }
+
+ //ID
+ public RuleCall getMediaIDTerminalRuleCall_3_2_2_0() { return cMediaIDTerminalRuleCall_3_2_2_0; }
+
+ //";"
+ public Keyword getSemicolonKeyword_4() { return cSemicolonKeyword_4; }
+
+ //WS*
+ public RuleCall getWSTerminalRuleCall_5() { return cWSTerminalRuleCall_5; }
+ }
+
+ public class MediaElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Media");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cMediaKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final RuleCall cWSTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1);
+ private final Assignment cMediaAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cMediaIDTerminalRuleCall_2_0 = (RuleCall)cMediaAssignment_2.eContents().get(0);
+ private final RuleCall cWSTerminalRuleCall_3 = (RuleCall)cGroup.eContents().get(3);
+ private final Group cGroup_4 = (Group)cGroup.eContents().get(4);
+ private final Keyword cCommaKeyword_4_0 = (Keyword)cGroup_4.eContents().get(0);
+ private final RuleCall cWSTerminalRuleCall_4_1 = (RuleCall)cGroup_4.eContents().get(1);
+ private final Assignment cMediaAssignment_4_2 = (Assignment)cGroup_4.eContents().get(2);
+ private final RuleCall cMediaIDTerminalRuleCall_4_2_0 = (RuleCall)cMediaAssignment_4_2.eContents().get(0);
+ private final Keyword cLeftCurlyBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
+ private final RuleCall cWSTerminalRuleCall_6 = (RuleCall)cGroup.eContents().get(6);
+ private final Assignment cRulesAssignment_7 = (Assignment)cGroup.eContents().get(7);
+ private final RuleCall cRulesRulesetParserRuleCall_7_0 = (RuleCall)cRulesAssignment_7.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8);
+ private final RuleCall cWSTerminalRuleCall_9 = (RuleCall)cGroup.eContents().get(9);
+
+ //Media:
+ // "@media" WS media+=ID WS* ("," WS* media+=ID)* "{" WS* rules+=Ruleset* "}" WS*;
+ public ParserRule getRule() { return rule; }
+
+ //"@media" WS media+=ID WS* ("," WS* media+=ID)* "{" WS* rules+=Ruleset* "}" WS*
+ public Group getGroup() { return cGroup; }
+
+ //"@media"
+ public Keyword getMediaKeyword_0() { return cMediaKeyword_0; }
+
+ //WS
+ public RuleCall getWSTerminalRuleCall_1() { return cWSTerminalRuleCall_1; }
+
+ //media+=ID
+ public Assignment getMediaAssignment_2() { return cMediaAssignment_2; }
+
+ //ID
+ public RuleCall getMediaIDTerminalRuleCall_2_0() { return cMediaIDTerminalRuleCall_2_0; }
+
+ //WS*
+ public RuleCall getWSTerminalRuleCall_3() { return cWSTerminalRuleCall_3; }
+
+ //("," WS* media+=ID)*
+ public Group getGroup_4() { return cGroup_4; }
+
+ //","
+ public Keyword getCommaKeyword_4_0() { return cCommaKeyword_4_0; }
+
+ //WS*
+ public RuleCall getWSTerminalRuleCall_4_1() { return cWSTerminalRuleCall_4_1; }
+
+ //media+=ID
+ public Assignment getMediaAssignment_4_2() { return cMediaAssignment_4_2; }
+
+ //ID
+ public RuleCall getMediaIDTerminalRuleCall_4_2_0() { return cMediaIDTerminalRuleCall_4_2_0; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_5() { return cLeftCurlyBracketKeyword_5; }
+
+ //WS*
+ public RuleCall getWSTerminalRuleCall_6() { return cWSTerminalRuleCall_6; }
+
+ //rules+=Ruleset*
+ public Assignment getRulesAssignment_7() { return cRulesAssignment_7; }
+
+ //Ruleset
+ public RuleCall getRulesRulesetParserRuleCall_7_0() { return cRulesRulesetParserRuleCall_7_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_8() { return cRightCurlyBracketKeyword_8; }
+
+ //WS*
+ public RuleCall getWSTerminalRuleCall_9() { return cWSTerminalRuleCall_9; }
+ }
+
+ public class PageElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Page");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Action cPageAction_0 = (Action)cGroup.eContents().get(0);
+ private final Keyword cPageKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final RuleCall cWSTerminalRuleCall_2 = (RuleCall)cGroup.eContents().get(2);
+ private final Assignment cPseudoAssignment_3 = (Assignment)cGroup.eContents().get(3);
+ private final RuleCall cPseudoPseudoPageParserRuleCall_3_0 = (RuleCall)cPseudoAssignment_3.eContents().get(0);
+ private final Keyword cLeftCurlyBracketKeyword_4 = (Keyword)cGroup.eContents().get(4);
+ private final RuleCall cWSTerminalRuleCall_5 = (RuleCall)cGroup.eContents().get(5);
+ private final Assignment cDeclarationsAssignment_6 = (Assignment)cGroup.eContents().get(6);
+ private final RuleCall cDeclarationsDeclarationParserRuleCall_6_0 = (RuleCall)cDeclarationsAssignment_6.eContents().get(0);
+ private final Group cGroup_7 = (Group)cGroup.eContents().get(7);
+ private final Keyword cSemicolonKeyword_7_0 = (Keyword)cGroup_7.eContents().get(0);
+ private final RuleCall cWSTerminalRuleCall_7_1 = (RuleCall)cGroup_7.eContents().get(1);
+ private final Assignment cDeclarationsAssignment_7_2 = (Assignment)cGroup_7.eContents().get(2);
+ private final RuleCall cDeclarationsDeclarationParserRuleCall_7_2_0 = (RuleCall)cDeclarationsAssignment_7_2.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_8 = (Keyword)cGroup.eContents().get(8);
+ private final RuleCall cWSTerminalRuleCall_9 = (RuleCall)cGroup.eContents().get(9);
+
+ //Page:
+ // {Page} "@page" WS* pseudo=PseudoPage? "{" WS* declarations+=Declaration? (";" WS* declarations+=Declaration?)* "}"
+ // WS*;
+ public ParserRule getRule() { return rule; }
+
+ //{Page} "@page" WS* pseudo=PseudoPage? "{" WS* declarations+=Declaration? (";" WS* declarations+=Declaration?)* "}" WS*
+ public Group getGroup() { return cGroup; }
+
+ //{Page}
+ public Action getPageAction_0() { return cPageAction_0; }
+
+ //"@page"
+ public Keyword getPageKeyword_1() { return cPageKeyword_1; }
+
+ //WS*
+ public RuleCall getWSTerminalRuleCall_2() { return cWSTerminalRuleCall_2; }
+
+ //pseudo=PseudoPage?
+ public Assignment getPseudoAssignment_3() { return cPseudoAssignment_3; }
+
+ //PseudoPage
+ public RuleCall getPseudoPseudoPageParserRuleCall_3_0() { return cPseudoPseudoPageParserRuleCall_3_0; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_4() { return cLeftCurlyBracketKeyword_4; }
+
+ //WS*
+ public RuleCall getWSTerminalRuleCall_5() { return cWSTerminalRuleCall_5; }
+
+ //declarations+=Declaration?
+ public Assignment getDeclarationsAssignment_6() { return cDeclarationsAssignment_6; }
+
+ //Declaration
+ public RuleCall getDeclarationsDeclarationParserRuleCall_6_0() { return cDeclarationsDeclarationParserRuleCall_6_0; }
+
+ //(";" WS* declarations+=Declaration?)*
+ public Group getGroup_7() { return cGroup_7; }
+
+ //";"
+ public Keyword getSemicolonKeyword_7_0() { return cSemicolonKeyword_7_0; }
+
+ //WS*
+ public RuleCall getWSTerminalRuleCall_7_1() { return cWSTerminalRuleCall_7_1; }
+
+ //declarations+=Declaration?
+ public Assignment getDeclarationsAssignment_7_2() { return cDeclarationsAssignment_7_2; }
+
+ //Declaration
+ public RuleCall getDeclarationsDeclarationParserRuleCall_7_2_0() { return cDeclarationsDeclarationParserRuleCall_7_2_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_8() { return cRightCurlyBracketKeyword_8; }
+
+ //WS*
+ public RuleCall getWSTerminalRuleCall_9() { return cWSTerminalRuleCall_9; }
+ }
+
+ public class PseudoPageElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "PseudoPage");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cColonKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Assignment cIdAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cIdIDTerminalRuleCall_1_0 = (RuleCall)cIdAssignment_1.eContents().get(0);
+ private final RuleCall cWSTerminalRuleCall_2 = (RuleCall)cGroup.eContents().get(2);
+
+ //PseudoPage:
+ // ":" id=ID WS*;
+ public ParserRule getRule() { return rule; }
+
+ //":" id=ID WS*
+ public Group getGroup() { return cGroup; }
+
+ //":"
+ public Keyword getColonKeyword_0() { return cColonKeyword_0; }
+
+ //id=ID
+ public Assignment getIdAssignment_1() { return cIdAssignment_1; }
+
+ //ID
+ public RuleCall getIdIDTerminalRuleCall_1_0() { return cIdIDTerminalRuleCall_1_0; }
+
+ //WS*
+ public RuleCall getWSTerminalRuleCall_2() { return cWSTerminalRuleCall_2; }
+ }
+
+ public class RulesetElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Ruleset");
+ 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 RuleCall cWSTerminalRuleCall_1_1 = (RuleCall)cGroup_1.eContents().get(1);
+ private final Assignment cSelectorsAssignment_1_2 = (Assignment)cGroup_1.eContents().get(2);
+ private final RuleCall cSelectorsSelectorParserRuleCall_1_2_0 = (RuleCall)cSelectorsAssignment_1_2.eContents().get(0);
+ private final Keyword cLeftCurlyBracketKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final RuleCall cWSTerminalRuleCall_3 = (RuleCall)cGroup.eContents().get(3);
+ private final Assignment cPropertiesAssignment_4 = (Assignment)cGroup.eContents().get(4);
+ private final RuleCall cPropertiesDeclarationParserRuleCall_4_0 = (RuleCall)cPropertiesAssignment_4.eContents().get(0);
+ private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
+ private final Keyword cSemicolonKeyword_5_0 = (Keyword)cGroup_5.eContents().get(0);
+ private final RuleCall cWSTerminalRuleCall_5_1 = (RuleCall)cGroup_5.eContents().get(1);
+ private final Assignment cPropertiesAssignment_5_2 = (Assignment)cGroup_5.eContents().get(2);
+ private final RuleCall cPropertiesDeclarationParserRuleCall_5_2_0 = (RuleCall)cPropertiesAssignment_5_2.eContents().get(0);
+ private final Keyword cRightCurlyBracketKeyword_6 = (Keyword)cGroup.eContents().get(6);
+ private final RuleCall cWSTerminalRuleCall_7 = (RuleCall)cGroup.eContents().get(7);
+
+ //Ruleset:
+ // selectors+=Selector ("," WS* selectors+=Selector)* "{" WS* properties+=Declaration? (";" WS*
+ // properties+=Declaration?)* "}" WS*;
+ public ParserRule getRule() { return rule; }
+
+ //selectors+=Selector ("," WS* selectors+=Selector)* "{" WS* properties+=Declaration? (";" WS* properties+=Declaration?)*
+ //"}" WS*
+ public Group getGroup() { return cGroup; }
+
+ //selectors+=Selector
+ public Assignment getSelectorsAssignment_0() { return cSelectorsAssignment_0; }
+
+ //Selector
+ public RuleCall getSelectorsSelectorParserRuleCall_0_0() { return cSelectorsSelectorParserRuleCall_0_0; }
+
+ //("," WS* selectors+=Selector)*
+ public Group getGroup_1() { return cGroup_1; }
+
+ //","
+ public Keyword getCommaKeyword_1_0() { return cCommaKeyword_1_0; }
+
+ //WS*
+ public RuleCall getWSTerminalRuleCall_1_1() { return cWSTerminalRuleCall_1_1; }
+
+ //selectors+=Selector
+ public Assignment getSelectorsAssignment_1_2() { return cSelectorsAssignment_1_2; }
+
+ //Selector
+ public RuleCall getSelectorsSelectorParserRuleCall_1_2_0() { return cSelectorsSelectorParserRuleCall_1_2_0; }
+
+ //"{"
+ public Keyword getLeftCurlyBracketKeyword_2() { return cLeftCurlyBracketKeyword_2; }
+
+ //WS*
+ public RuleCall getWSTerminalRuleCall_3() { return cWSTerminalRuleCall_3; }
+
+ //properties+=Declaration?
+ public Assignment getPropertiesAssignment_4() { return cPropertiesAssignment_4; }
+
+ //Declaration
+ public RuleCall getPropertiesDeclarationParserRuleCall_4_0() { return cPropertiesDeclarationParserRuleCall_4_0; }
+
+ //(";" WS* properties+=Declaration?)*
+ public Group getGroup_5() { return cGroup_5; }
+
+ //";"
+ public Keyword getSemicolonKeyword_5_0() { return cSemicolonKeyword_5_0; }
+
+ //WS*
+ public RuleCall getWSTerminalRuleCall_5_1() { return cWSTerminalRuleCall_5_1; }
+
+ //properties+=Declaration?
+ public Assignment getPropertiesAssignment_5_2() { return cPropertiesAssignment_5_2; }
+
+ //Declaration
+ public RuleCall getPropertiesDeclarationParserRuleCall_5_2_0() { return cPropertiesDeclarationParserRuleCall_5_2_0; }
+
+ //"}"
+ public Keyword getRightCurlyBracketKeyword_6() { return cRightCurlyBracketKeyword_6; }
+
+ //WS*
+ public RuleCall getWSTerminalRuleCall_7() { return cWSTerminalRuleCall_7; }
+ }
+
+ public class SelectorElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Selector");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0);
+ private final RuleCall cSimpleSelectorParserRuleCall_0_0 = (RuleCall)cGroup_0.eContents().get(0);
+ private final RuleCall cWSTerminalRuleCall_0_1 = (RuleCall)cGroup_0.eContents().get(1);
+ private final RuleCall cCompositeSelectorParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+
+ //Selector:
+ // SimpleSelector WS* | CompositeSelector;
+ public ParserRule getRule() { return rule; }
+
+ //SimpleSelector WS* | CompositeSelector
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //SimpleSelector WS*
+ public Group getGroup_0() { return cGroup_0; }
+
+ //SimpleSelector
+ public RuleCall getSimpleSelectorParserRuleCall_0_0() { return cSimpleSelectorParserRuleCall_0_0; }
+
+ //WS*
+ public RuleCall getWSTerminalRuleCall_0_1() { return cWSTerminalRuleCall_0_1; }
+
+ //CompositeSelector
+ public RuleCall getCompositeSelectorParserRuleCall_1() { return cCompositeSelectorParserRuleCall_1; }
+ }
+
+ public class CompositeSelectorElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "CompositeSelector");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cLeftAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cLeftSimpleSelectorParserRuleCall_0_0 = (RuleCall)cLeftAssignment_0.eContents().get(0);
+ private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
+ private final RuleCall cWSTerminalRuleCall_1_0 = (RuleCall)cAlternatives_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 Assignment cCombinatorAssignment_1_1_1 = (Assignment)cGroup_1_1.eContents().get(1);
+ private final RuleCall cCombinatorCombinatorParserRuleCall_1_1_1_0 = (RuleCall)cCombinatorAssignment_1_1_1.eContents().get(0);
+ private final Assignment cRightAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cRightSelectorParserRuleCall_2_0 = (RuleCall)cRightAssignment_2.eContents().get(0);
+
+ ////left=SimpleSelector (combinator=Combinator right=Selector | WS+ (combinator=Combinator? right=Selector)?)?;
+ //CompositeSelector:
+ // left=SimpleSelector (WS+ | WS* combinator=Combinator) right=Selector;
+ public ParserRule getRule() { return rule; }
+
+ //left=SimpleSelector (WS+ | WS* combinator=Combinator) right=Selector
+ public Group getGroup() { return cGroup; }
+
+ //left=SimpleSelector
+ public Assignment getLeftAssignment_0() { return cLeftAssignment_0; }
+
+ //SimpleSelector
+ public RuleCall getLeftSimpleSelectorParserRuleCall_0_0() { return cLeftSimpleSelectorParserRuleCall_0_0; }
+
+ //WS+ | WS* combinator=Combinator
+ public Alternatives getAlternatives_1() { return cAlternatives_1; }
+
+ //WS+
+ public RuleCall getWSTerminalRuleCall_1_0() { return cWSTerminalRuleCall_1_0; }
+
+ //WS* combinator=Combinator
+ public Group getGroup_1_1() { return cGroup_1_1; }
+
+ //WS*
+ public RuleCall getWSTerminalRuleCall_1_1_0() { return cWSTerminalRuleCall_1_1_0; }
+
+ //combinator=Combinator
+ public Assignment getCombinatorAssignment_1_1_1() { return cCombinatorAssignment_1_1_1; }
+
+ //Combinator
+ public RuleCall getCombinatorCombinatorParserRuleCall_1_1_1_0() { return cCombinatorCombinatorParserRuleCall_1_1_1_0; }
+
+ //right=Selector
+ public Assignment getRightAssignment_2() { return cRightAssignment_2; }
+
+ //Selector
+ public RuleCall getRightSelectorParserRuleCall_2_0() { return cRightSelectorParserRuleCall_2_0; }
+ }
+
+ public class SimpleSelectorElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SimpleSelector");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0);
+ private final Assignment cElementNameAssignment_0_0 = (Assignment)cGroup_0.eContents().get(0);
+ private final Alternatives cElementNameAlternatives_0_0_0 = (Alternatives)cElementNameAssignment_0_0.eContents().get(0);
+ private final RuleCall cElementNameIDTerminalRuleCall_0_0_0_0 = (RuleCall)cElementNameAlternatives_0_0_0.eContents().get(0);
+ private final Keyword cElementNameAsteriskKeyword_0_0_0_1 = (Keyword)cElementNameAlternatives_0_0_0.eContents().get(1);
+ private final Assignment cConditionAssignment_0_1 = (Assignment)cGroup_0.eContents().get(1);
+ private final RuleCall cConditionSelectorConditionParserRuleCall_0_1_0 = (RuleCall)cConditionAssignment_0_1.eContents().get(0);
+ private final Assignment cConditionAssignment_1 = (Assignment)cAlternatives.eContents().get(1);
+ private final RuleCall cConditionSelectorConditionParserRuleCall_1_0 = (RuleCall)cConditionAssignment_1.eContents().get(0);
+
+ //SimpleSelector:
+ // elementName=(ID | "*") condition+=SelectorCondition* | condition+=SelectorCondition+;
+ public ParserRule getRule() { return rule; }
+
+ //elementName=(ID | "*") condition+=SelectorCondition* | condition+=SelectorCondition+
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //elementName=(ID | "*") condition+=SelectorCondition*
+ public Group getGroup_0() { return cGroup_0; }
+
+ //elementName=(ID | "*")
+ public Assignment getElementNameAssignment_0_0() { return cElementNameAssignment_0_0; }
+
+ //ID | "*"
+ public Alternatives getElementNameAlternatives_0_0_0() { return cElementNameAlternatives_0_0_0; }
+
+ //ID
+ public RuleCall getElementNameIDTerminalRuleCall_0_0_0_0() { return cElementNameIDTerminalRuleCall_0_0_0_0; }
+
+ //"*"
+ public Keyword getElementNameAsteriskKeyword_0_0_0_1() { return cElementNameAsteriskKeyword_0_0_0_1; }
+
+ //condition+=SelectorCondition*
+ public Assignment getConditionAssignment_0_1() { return cConditionAssignment_0_1; }
+
+ //SelectorCondition
+ public RuleCall getConditionSelectorConditionParserRuleCall_0_1_0() { return cConditionSelectorConditionParserRuleCall_0_1_0; }
+
+ //condition+=SelectorCondition+
+ public Assignment getConditionAssignment_1() { return cConditionAssignment_1; }
+
+ //SelectorCondition
+ public RuleCall getConditionSelectorConditionParserRuleCall_1_0() { return cConditionSelectorConditionParserRuleCall_1_0; }
+ }
+
+ public class SelectorConditionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "SelectorCondition");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final RuleCall cCSSIdParserRuleCall_0 = (RuleCall)cAlternatives.eContents().get(0);
+ private final RuleCall cClassParserRuleCall_1 = (RuleCall)cAlternatives.eContents().get(1);
+ private final RuleCall cAttributeParserRuleCall_2 = (RuleCall)cAlternatives.eContents().get(2);
+ private final RuleCall cPseudoParserRuleCall_3 = (RuleCall)cAlternatives.eContents().get(3);
+
+ //SelectorCondition:
+ // CSSId | Class | Attribute | Pseudo;
+ public ParserRule getRule() { return rule; }
+
+ //CSSId | Class | Attribute | Pseudo
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //CSSId
+ public RuleCall getCSSIdParserRuleCall_0() { return cCSSIdParserRuleCall_0; }
+
+ //Class
+ public RuleCall getClassParserRuleCall_1() { return cClassParserRuleCall_1; }
+
+ //Attribute
+ public RuleCall getAttributeParserRuleCall_2() { return cAttributeParserRuleCall_2; }
+
+ //Pseudo
+ public RuleCall getPseudoParserRuleCall_3() { return cPseudoParserRuleCall_3; }
+ }
+
+ public class CombinatorElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Combinator");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cKindAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cKindKINDEnumRuleCall_0_0 = (RuleCall)cKindAssignment_0.eContents().get(0);
+ private final RuleCall cWSTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1);
+
+ //Combinator:
+ // kind=KIND WS*;
+ public ParserRule getRule() { return rule; }
+
+ //kind=KIND WS*
+ public Group getGroup() { return cGroup; }
+
+ //kind=KIND
+ public Assignment getKindAssignment_0() { return cKindAssignment_0; }
+
+ //KIND
+ public RuleCall getKindKINDEnumRuleCall_0_0() { return cKindKINDEnumRuleCall_0_0; }
+
+ //WS*
+ public RuleCall getWSTerminalRuleCall_1() { return cWSTerminalRuleCall_1; }
+ }
+
+ 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 cPropertyIDTerminalRuleCall_0_0 = (RuleCall)cPropertyAssignment_0.eContents().get(0);
+ private final RuleCall cWSTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1);
+ private final Keyword cColonKeyword_2 = (Keyword)cGroup.eContents().get(2);
+ private final RuleCall cWSTerminalRuleCall_3 = (RuleCall)cGroup.eContents().get(3);
+ private final Assignment cExpressionAssignment_4 = (Assignment)cGroup.eContents().get(4);
+ private final RuleCall cExpressionExpressionParserRuleCall_4_0 = (RuleCall)cExpressionAssignment_4.eContents().get(0);
+ private final Group cGroup_5 = (Group)cGroup.eContents().get(5);
+ private final Assignment cImportantAssignment_5_0 = (Assignment)cGroup_5.eContents().get(0);
+ private final RuleCall cImportantT_IMPORTANTTerminalRuleCall_5_0_0 = (RuleCall)cImportantAssignment_5_0.eContents().get(0);
+ private final RuleCall cWSTerminalRuleCall_5_1 = (RuleCall)cGroup_5.eContents().get(1);
+
+ //Declaration:
+ // property=ID WS* ":" WS* expression=Expression (important?=T_IMPORTANT WS*)?;
+ public ParserRule getRule() { return rule; }
+
+ //property=ID WS* ":" WS* expression=Expression (important?=T_IMPORTANT WS*)?
+ public Group getGroup() { return cGroup; }
+
+ //property=ID
+ public Assignment getPropertyAssignment_0() { return cPropertyAssignment_0; }
+
+ //ID
+ public RuleCall getPropertyIDTerminalRuleCall_0_0() { return cPropertyIDTerminalRuleCall_0_0; }
+
+ //WS*
+ public RuleCall getWSTerminalRuleCall_1() { return cWSTerminalRuleCall_1; }
+
+ //":"
+ public Keyword getColonKeyword_2() { return cColonKeyword_2; }
+
+ //WS*
+ public RuleCall getWSTerminalRuleCall_3() { return cWSTerminalRuleCall_3; }
+
+ //expression=Expression
+ public Assignment getExpressionAssignment_4() { return cExpressionAssignment_4; }
+
+ //Expression
+ public RuleCall getExpressionExpressionParserRuleCall_4_0() { return cExpressionExpressionParserRuleCall_4_0; }
+
+ //(important?=T_IMPORTANT WS*)?
+ public Group getGroup_5() { return cGroup_5; }
+
+ //important?=T_IMPORTANT
+ public Assignment getImportantAssignment_5_0() { return cImportantAssignment_5_0; }
+
+ //T_IMPORTANT
+ public RuleCall getImportantT_IMPORTANTTerminalRuleCall_5_0_0() { return cImportantT_IMPORTANTTerminalRuleCall_5_0_0; }
+
+ //WS*
+ public RuleCall getWSTerminalRuleCall_5_1() { return cWSTerminalRuleCall_5_1; }
+ }
+
+ public class ExpressionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Expression");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cTermsAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cTermsTermParserRuleCall_0_0 = (RuleCall)cTermsAssignment_0.eContents().get(0);
+ private final Assignment cSubtermsAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cSubtermsSubtermParserRuleCall_1_0 = (RuleCall)cSubtermsAssignment_1.eContents().get(0);
+
+ //Expression:
+ // terms=Term subterms+=Subterm*;
+ public ParserRule getRule() { return rule; }
+
+ //terms=Term subterms+=Subterm*
+ public Group getGroup() { return cGroup; }
+
+ //terms=Term
+ public Assignment getTermsAssignment_0() { return cTermsAssignment_0; }
+
+ //Term
+ public RuleCall getTermsTermParserRuleCall_0_0() { return cTermsTermParserRuleCall_0_0; }
+
+ //subterms+=Subterm*
+ public Assignment getSubtermsAssignment_1() { return cSubtermsAssignment_1; }
+
+ //Subterm
+ public RuleCall getSubtermsSubtermParserRuleCall_1_0() { return cSubtermsSubtermParserRuleCall_1_0; }
+ }
+
+ public class SubtermElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Subterm");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cOperatorAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cOperatorOperatorParserRuleCall_0_0 = (RuleCall)cOperatorAssignment_0.eContents().get(0);
+ private final Assignment cTermAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cTermTermParserRuleCall_1_0 = (RuleCall)cTermAssignment_1.eContents().get(0);
+
+ //Subterm:
+ // operator=Operator? term=Term;
+ public ParserRule getRule() { return rule; }
+
+ //operator=Operator? term=Term
+ public Group getGroup() { return cGroup; }
+
+ //operator=Operator?
+ public Assignment getOperatorAssignment_0() { return cOperatorAssignment_0; }
+
+ //Operator
+ public RuleCall getOperatorOperatorParserRuleCall_0_0() { return cOperatorOperatorParserRuleCall_0_0; }
+
+ //term=Term
+ public Assignment getTermAssignment_1() { return cTermAssignment_1; }
+
+ //Term
+ public RuleCall getTermTermParserRuleCall_1_0() { return cTermTermParserRuleCall_1_0; }
+ }
+
+ public class TermElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Term");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Alternatives cAlternatives_0 = (Alternatives)cGroup.eContents().get(0);
+ private final RuleCall cNumberParserRuleCall_0_0 = (RuleCall)cAlternatives_0.eContents().get(0);
+ private final RuleCall cPercentageParserRuleCall_0_1 = (RuleCall)cAlternatives_0.eContents().get(1);
+ private final RuleCall cLengthParserRuleCall_0_2 = (RuleCall)cAlternatives_0.eContents().get(2);
+ private final RuleCall cEmsParserRuleCall_0_3 = (RuleCall)cAlternatives_0.eContents().get(3);
+ private final RuleCall cExsParserRuleCall_0_4 = (RuleCall)cAlternatives_0.eContents().get(4);
+ private final RuleCall cAngleParserRuleCall_0_5 = (RuleCall)cAlternatives_0.eContents().get(5);
+ private final RuleCall cTimeParserRuleCall_0_6 = (RuleCall)cAlternatives_0.eContents().get(6);
+ private final RuleCall cFrequencyParserRuleCall_0_7 = (RuleCall)cAlternatives_0.eContents().get(7);
+ private final RuleCall cNameParserRuleCall_0_8 = (RuleCall)cAlternatives_0.eContents().get(8);
+ private final RuleCall cStringValueParserRuleCall_0_9 = (RuleCall)cAlternatives_0.eContents().get(9);
+ private final RuleCall cUriParserRuleCall_0_10 = (RuleCall)cAlternatives_0.eContents().get(10);
+ private final RuleCall cHexColorParserRuleCall_0_11 = (RuleCall)cAlternatives_0.eContents().get(11);
+ private final RuleCall cFunctionParserRuleCall_0_12 = (RuleCall)cAlternatives_0.eContents().get(12);
+ private final RuleCall cWSTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1);
+
+ //Term:
+ // (Number | Percentage | Length | Ems | Exs | Angle | Time | Frequency | Name | StringValue | Uri | HexColor | Function)
+ // WS*;
+ public ParserRule getRule() { return rule; }
+
+ //(Number | Percentage | Length | Ems | Exs | Angle | Time | Frequency | Name | StringValue | Uri | HexColor | Function)
+ //WS*
+ public Group getGroup() { return cGroup; }
+
+ //Number | Percentage | Length | Ems | Exs | Angle | Time | Frequency | Name | StringValue | Uri | HexColor | Function
+ public Alternatives getAlternatives_0() { return cAlternatives_0; }
+
+ //Number
+ public RuleCall getNumberParserRuleCall_0_0() { return cNumberParserRuleCall_0_0; }
+
+ //Percentage
+ public RuleCall getPercentageParserRuleCall_0_1() { return cPercentageParserRuleCall_0_1; }
+
+ //Length
+ public RuleCall getLengthParserRuleCall_0_2() { return cLengthParserRuleCall_0_2; }
+
+ //Ems
+ public RuleCall getEmsParserRuleCall_0_3() { return cEmsParserRuleCall_0_3; }
+
+ //Exs
+ public RuleCall getExsParserRuleCall_0_4() { return cExsParserRuleCall_0_4; }
+
+ //Angle
+ public RuleCall getAngleParserRuleCall_0_5() { return cAngleParserRuleCall_0_5; }
+
+ //Time
+ public RuleCall getTimeParserRuleCall_0_6() { return cTimeParserRuleCall_0_6; }
+
+ //Frequency
+ public RuleCall getFrequencyParserRuleCall_0_7() { return cFrequencyParserRuleCall_0_7; }
+
+ //Name
+ public RuleCall getNameParserRuleCall_0_8() { return cNameParserRuleCall_0_8; }
+
+ //StringValue
+ public RuleCall getStringValueParserRuleCall_0_9() { return cStringValueParserRuleCall_0_9; }
+
+ //Uri
+ public RuleCall getUriParserRuleCall_0_10() { return cUriParserRuleCall_0_10; }
+
+ //HexColor
+ public RuleCall getHexColorParserRuleCall_0_11() { return cHexColorParserRuleCall_0_11; }
+
+ //Function
+ public RuleCall getFunctionParserRuleCall_0_12() { return cFunctionParserRuleCall_0_12; }
+
+ //WS*
+ public RuleCall getWSTerminalRuleCall_1() { return cWSTerminalRuleCall_1; }
+ }
+
+ public class FunctionElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Function");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cNameAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cNameIDTerminalRuleCall_0_0 = (RuleCall)cNameAssignment_0.eContents().get(0);
+ private final Keyword cLeftParenthesisKeyword_1 = (Keyword)cGroup.eContents().get(1);
+ private final RuleCall cWSTerminalRuleCall_2 = (RuleCall)cGroup.eContents().get(2);
+ private final Assignment cArgsAssignment_3 = (Assignment)cGroup.eContents().get(3);
+ private final RuleCall cArgsExpressionParserRuleCall_3_0 = (RuleCall)cArgsAssignment_3.eContents().get(0);
+ private final Keyword cRightParenthesisKeyword_4 = (Keyword)cGroup.eContents().get(4);
+
+ //Function:
+ // name=ID "(" WS* args=Expression ")";
+ public ParserRule getRule() { return rule; }
+
+ //name=ID "(" WS* args=Expression ")"
+ public Group getGroup() { return cGroup; }
+
+ //name=ID
+ public Assignment getNameAssignment_0() { return cNameAssignment_0; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_0_0() { return cNameIDTerminalRuleCall_0_0; }
+
+ //"("
+ public Keyword getLeftParenthesisKeyword_1() { return cLeftParenthesisKeyword_1; }
+
+ //WS*
+ public RuleCall getWSTerminalRuleCall_2() { return cWSTerminalRuleCall_2; }
+
+ //args=Expression
+ public Assignment getArgsAssignment_3() { return cArgsAssignment_3; }
+
+ //Expression
+ public RuleCall getArgsExpressionParserRuleCall_3_0() { return cArgsExpressionParserRuleCall_3_0; }
+
+ //")"
+ public Keyword getRightParenthesisKeyword_4() { return cRightParenthesisKeyword_4; }
+ }
+
+ public class NameElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Name");
+ private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1);
+ private final RuleCall cValueIDTerminalRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0);
+
+ //Name:
+ // value=ID;
+ public ParserRule getRule() { return rule; }
+
+ //value=ID
+ public Assignment getValueAssignment() { return cValueAssignment; }
+
+ //ID
+ public RuleCall getValueIDTerminalRuleCall_0() { return cValueIDTerminalRuleCall_0; }
+ }
+
+ public class NumberElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Number");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cOpAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cOpUnaryOperatorParserRuleCall_0_0 = (RuleCall)cOpAssignment_0.eContents().get(0);
+ private final Assignment cValueAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cValueT_NUMTerminalRuleCall_1_0 = (RuleCall)cValueAssignment_1.eContents().get(0);
+
+ ////Terms
+ //Number:
+ // op=UnaryOperator? value=T_NUM;
+ public ParserRule getRule() { return rule; }
+
+ //op=UnaryOperator? value=T_NUM
+ public Group getGroup() { return cGroup; }
+
+ //op=UnaryOperator?
+ public Assignment getOpAssignment_0() { return cOpAssignment_0; }
+
+ //UnaryOperator
+ public RuleCall getOpUnaryOperatorParserRuleCall_0_0() { return cOpUnaryOperatorParserRuleCall_0_0; }
+
+ //value=T_NUM
+ public Assignment getValueAssignment_1() { return cValueAssignment_1; }
+
+ //T_NUM
+ public RuleCall getValueT_NUMTerminalRuleCall_1_0() { return cValueT_NUMTerminalRuleCall_1_0; }
+ }
+
+ 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 Assignment cOpAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cOpUnaryOperatorParserRuleCall_0_0 = (RuleCall)cOpAssignment_0.eContents().get(0);
+ private final Assignment cValueAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cValueT_NUMTerminalRuleCall_1_0 = (RuleCall)cValueAssignment_1.eContents().get(0);
+ private final Assignment cUnitAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cUnitPC_UNITTerminalRuleCall_2_0 = (RuleCall)cUnitAssignment_2.eContents().get(0);
+
+ //Percentage:
+ // op=UnaryOperator? value=T_NUM unit=PC_UNIT;
+ public ParserRule getRule() { return rule; }
+
+ //op=UnaryOperator? value=T_NUM unit=PC_UNIT
+ public Group getGroup() { return cGroup; }
+
+ //op=UnaryOperator?
+ public Assignment getOpAssignment_0() { return cOpAssignment_0; }
+
+ //UnaryOperator
+ public RuleCall getOpUnaryOperatorParserRuleCall_0_0() { return cOpUnaryOperatorParserRuleCall_0_0; }
+
+ //value=T_NUM
+ public Assignment getValueAssignment_1() { return cValueAssignment_1; }
+
+ //T_NUM
+ public RuleCall getValueT_NUMTerminalRuleCall_1_0() { return cValueT_NUMTerminalRuleCall_1_0; }
+
+ //unit=PC_UNIT
+ public Assignment getUnitAssignment_2() { return cUnitAssignment_2; }
+
+ //PC_UNIT
+ public RuleCall getUnitPC_UNITTerminalRuleCall_2_0() { return cUnitPC_UNITTerminalRuleCall_2_0; }
+ }
+
+ 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 Assignment cOpAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cOpUnaryOperatorParserRuleCall_0_0 = (RuleCall)cOpAssignment_0.eContents().get(0);
+ private final Assignment cValueAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cValueT_NUMTerminalRuleCall_1_0 = (RuleCall)cValueAssignment_1.eContents().get(0);
+ private final Assignment cUnitAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cUnitLEN_UNITTerminalRuleCall_2_0 = (RuleCall)cUnitAssignment_2.eContents().get(0);
+
+ //Length:
+ // op=UnaryOperator? value=T_NUM unit=LEN_UNIT;
+ public ParserRule getRule() { return rule; }
+
+ //op=UnaryOperator? value=T_NUM unit=LEN_UNIT
+ public Group getGroup() { return cGroup; }
+
+ //op=UnaryOperator?
+ public Assignment getOpAssignment_0() { return cOpAssignment_0; }
+
+ //UnaryOperator
+ public RuleCall getOpUnaryOperatorParserRuleCall_0_0() { return cOpUnaryOperatorParserRuleCall_0_0; }
+
+ //value=T_NUM
+ public Assignment getValueAssignment_1() { return cValueAssignment_1; }
+
+ //T_NUM
+ public RuleCall getValueT_NUMTerminalRuleCall_1_0() { return cValueT_NUMTerminalRuleCall_1_0; }
+
+ //unit=LEN_UNIT
+ public Assignment getUnitAssignment_2() { return cUnitAssignment_2; }
+
+ //LEN_UNIT
+ public RuleCall getUnitLEN_UNITTerminalRuleCall_2_0() { return cUnitLEN_UNITTerminalRuleCall_2_0; }
+ }
+
+ 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 Assignment cOpAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cOpUnaryOperatorParserRuleCall_0_0 = (RuleCall)cOpAssignment_0.eContents().get(0);
+ private final Assignment cValueAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cValueT_NUMTerminalRuleCall_1_0 = (RuleCall)cValueAssignment_1.eContents().get(0);
+ private final Assignment cUnitAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cUnitEM_UNITTerminalRuleCall_2_0 = (RuleCall)cUnitAssignment_2.eContents().get(0);
+
+ //Ems:
+ // op=UnaryOperator? value=T_NUM unit=EM_UNIT;
+ public ParserRule getRule() { return rule; }
+
+ //op=UnaryOperator? value=T_NUM unit=EM_UNIT
+ public Group getGroup() { return cGroup; }
+
+ //op=UnaryOperator?
+ public Assignment getOpAssignment_0() { return cOpAssignment_0; }
+
+ //UnaryOperator
+ public RuleCall getOpUnaryOperatorParserRuleCall_0_0() { return cOpUnaryOperatorParserRuleCall_0_0; }
+
+ //value=T_NUM
+ public Assignment getValueAssignment_1() { return cValueAssignment_1; }
+
+ //T_NUM
+ public RuleCall getValueT_NUMTerminalRuleCall_1_0() { return cValueT_NUMTerminalRuleCall_1_0; }
+
+ //unit=EM_UNIT
+ public Assignment getUnitAssignment_2() { return cUnitAssignment_2; }
+
+ //EM_UNIT
+ public RuleCall getUnitEM_UNITTerminalRuleCall_2_0() { return cUnitEM_UNITTerminalRuleCall_2_0; }
+ }
+
+ 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 Assignment cOpAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cOpUnaryOperatorParserRuleCall_0_0 = (RuleCall)cOpAssignment_0.eContents().get(0);
+ private final Assignment cValueAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cValueT_NUMTerminalRuleCall_1_0 = (RuleCall)cValueAssignment_1.eContents().get(0);
+ private final Assignment cUnitAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cUnitEX_UNITTerminalRuleCall_2_0 = (RuleCall)cUnitAssignment_2.eContents().get(0);
+
+ //Exs:
+ // op=UnaryOperator? value=T_NUM unit=EX_UNIT;
+ public ParserRule getRule() { return rule; }
+
+ //op=UnaryOperator? value=T_NUM unit=EX_UNIT
+ public Group getGroup() { return cGroup; }
+
+ //op=UnaryOperator?
+ public Assignment getOpAssignment_0() { return cOpAssignment_0; }
+
+ //UnaryOperator
+ public RuleCall getOpUnaryOperatorParserRuleCall_0_0() { return cOpUnaryOperatorParserRuleCall_0_0; }
+
+ //value=T_NUM
+ public Assignment getValueAssignment_1() { return cValueAssignment_1; }
+
+ //T_NUM
+ public RuleCall getValueT_NUMTerminalRuleCall_1_0() { return cValueT_NUMTerminalRuleCall_1_0; }
+
+ //unit=EX_UNIT
+ public Assignment getUnitAssignment_2() { return cUnitAssignment_2; }
+
+ //EX_UNIT
+ public RuleCall getUnitEX_UNITTerminalRuleCall_2_0() { return cUnitEX_UNITTerminalRuleCall_2_0; }
+ }
+
+ 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 Assignment cOpAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cOpUnaryOperatorParserRuleCall_0_0 = (RuleCall)cOpAssignment_0.eContents().get(0);
+ private final Assignment cValueAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cValueT_NUMTerminalRuleCall_1_0 = (RuleCall)cValueAssignment_1.eContents().get(0);
+ private final Assignment cUnitAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cUnitANGLE_UNITTerminalRuleCall_2_0 = (RuleCall)cUnitAssignment_2.eContents().get(0);
+
+ //Angle:
+ // op=UnaryOperator? value=T_NUM unit=ANGLE_UNIT;
+ public ParserRule getRule() { return rule; }
+
+ //op=UnaryOperator? value=T_NUM unit=ANGLE_UNIT
+ public Group getGroup() { return cGroup; }
+
+ //op=UnaryOperator?
+ public Assignment getOpAssignment_0() { return cOpAssignment_0; }
+
+ //UnaryOperator
+ public RuleCall getOpUnaryOperatorParserRuleCall_0_0() { return cOpUnaryOperatorParserRuleCall_0_0; }
+
+ //value=T_NUM
+ public Assignment getValueAssignment_1() { return cValueAssignment_1; }
+
+ //T_NUM
+ public RuleCall getValueT_NUMTerminalRuleCall_1_0() { return cValueT_NUMTerminalRuleCall_1_0; }
+
+ //unit=ANGLE_UNIT
+ public Assignment getUnitAssignment_2() { return cUnitAssignment_2; }
+
+ //ANGLE_UNIT
+ public RuleCall getUnitANGLE_UNITTerminalRuleCall_2_0() { return cUnitANGLE_UNITTerminalRuleCall_2_0; }
+ }
+
+ 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 Assignment cOpAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cOpUnaryOperatorParserRuleCall_0_0 = (RuleCall)cOpAssignment_0.eContents().get(0);
+ private final Assignment cValueAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cValueT_NUMTerminalRuleCall_1_0 = (RuleCall)cValueAssignment_1.eContents().get(0);
+ private final Assignment cUnitAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cUnitTIME_UNITTerminalRuleCall_2_0 = (RuleCall)cUnitAssignment_2.eContents().get(0);
+
+ //Time:
+ // op=UnaryOperator? value=T_NUM unit=TIME_UNIT;
+ public ParserRule getRule() { return rule; }
+
+ //op=UnaryOperator? value=T_NUM unit=TIME_UNIT
+ public Group getGroup() { return cGroup; }
+
+ //op=UnaryOperator?
+ public Assignment getOpAssignment_0() { return cOpAssignment_0; }
+
+ //UnaryOperator
+ public RuleCall getOpUnaryOperatorParserRuleCall_0_0() { return cOpUnaryOperatorParserRuleCall_0_0; }
+
+ //value=T_NUM
+ public Assignment getValueAssignment_1() { return cValueAssignment_1; }
+
+ //T_NUM
+ public RuleCall getValueT_NUMTerminalRuleCall_1_0() { return cValueT_NUMTerminalRuleCall_1_0; }
+
+ //unit=TIME_UNIT
+ public Assignment getUnitAssignment_2() { return cUnitAssignment_2; }
+
+ //TIME_UNIT
+ public RuleCall getUnitTIME_UNITTerminalRuleCall_2_0() { return cUnitTIME_UNITTerminalRuleCall_2_0; }
+ }
+
+ public class FrequencyElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Frequency");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cOpAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cOpUnaryOperatorParserRuleCall_0_0 = (RuleCall)cOpAssignment_0.eContents().get(0);
+ private final Assignment cValueAssignment_1 = (Assignment)cGroup.eContents().get(1);
+ private final RuleCall cValueT_NUMTerminalRuleCall_1_0 = (RuleCall)cValueAssignment_1.eContents().get(0);
+ private final Assignment cUnitAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cUnitFREQ_UNITTerminalRuleCall_2_0 = (RuleCall)cUnitAssignment_2.eContents().get(0);
+
+ //Frequency:
+ // op=UnaryOperator? value=T_NUM unit=FREQ_UNIT;
+ public ParserRule getRule() { return rule; }
+
+ //op=UnaryOperator? value=T_NUM unit=FREQ_UNIT
+ public Group getGroup() { return cGroup; }
+
+ //op=UnaryOperator?
+ public Assignment getOpAssignment_0() { return cOpAssignment_0; }
+
+ //UnaryOperator
+ public RuleCall getOpUnaryOperatorParserRuleCall_0_0() { return cOpUnaryOperatorParserRuleCall_0_0; }
+
+ //value=T_NUM
+ public Assignment getValueAssignment_1() { return cValueAssignment_1; }
+
+ //T_NUM
+ public RuleCall getValueT_NUMTerminalRuleCall_1_0() { return cValueT_NUMTerminalRuleCall_1_0; }
+
+ //unit=FREQ_UNIT
+ public Assignment getUnitAssignment_2() { return cUnitAssignment_2; }
+
+ //FREQ_UNIT
+ public RuleCall getUnitFREQ_UNITTerminalRuleCall_2_0() { return cUnitFREQ_UNITTerminalRuleCall_2_0; }
+ }
+
+ 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 RuleCall cWSTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1);
+ private final Assignment cValueAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cValueSTRINGTerminalRuleCall_2_0 = (RuleCall)cValueAssignment_2.eContents().get(0);
+ private final RuleCall cWSTerminalRuleCall_3 = (RuleCall)cGroup.eContents().get(3);
+ private final Keyword cRightParenthesisKeyword_4 = (Keyword)cGroup.eContents().get(4);
+
+ /// * | 'url(' WS? url=URL WS? ')' * / //TODO
+ //Uri:
+ // "url(" WS? value=STRING WS? ")";
+ public ParserRule getRule() { return rule; }
+
+ //"url(" WS? value=STRING WS? ")"
+ public Group getGroup() { return cGroup; }
+
+ //"url("
+ public Keyword getUrlKeyword_0() { return cUrlKeyword_0; }
+
+ //WS?
+ public RuleCall getWSTerminalRuleCall_1() { return cWSTerminalRuleCall_1; }
+
+ //value=STRING
+ public Assignment getValueAssignment_2() { return cValueAssignment_2; }
+
+ //STRING
+ public RuleCall getValueSTRINGTerminalRuleCall_2_0() { return cValueSTRINGTerminalRuleCall_2_0; }
+
+ //WS?
+ public RuleCall getWSTerminalRuleCall_3() { return cWSTerminalRuleCall_3; }
+
+ //")"
+ public Keyword getRightParenthesisKeyword_4() { return cRightParenthesisKeyword_4; }
+ }
+
+ public class StringValueElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "StringValue");
+ private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1);
+ private final RuleCall cValueSTRINGTerminalRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0);
+
+ //StringValue:
+ // value=STRING;
+ public ParserRule getRule() { return rule; }
+
+ //value=STRING
+ public Assignment getValueAssignment() { return cValueAssignment; }
+
+ //STRING
+ public RuleCall getValueSTRINGTerminalRuleCall_0() { return cValueSTRINGTerminalRuleCall_0; }
+ }
+
+ public class HexColorElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "HexColor");
+ private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1);
+ private final RuleCall cValueHASHTerminalRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0);
+
+ ////terminal URL:
+ //// (('!' | '#' | '$' | '%' | '&' | '*' | '-' | '~') / * | NON_ASCII | ESCAPE * /)*;
+ ////terminal NON_ASCII:
+ //// (\0240..\0377) //Chars 160 to 255
+ ////;
+ ////terminal UNICODE:
+ //// '\\' HEXA (HEXA (HEXA (HEXA (HEXA (HEXA)?)?)?)?)? ('\r\n' | ' ' | '\t' | '\r' | '\n')?;
+ ////
+ ////terminal ESCAPE:
+ //// UNICODE | ('\\' !('\r' | '\n' | '0'..'9' | 'a'..'f' | 'A'..'F'));
+ //HexColor:
+ // value=HASH;
+ public ParserRule getRule() { return rule; }
+
+ //value=HASH
+ public Assignment getValueAssignment() { return cValueAssignment; }
+
+ //HASH
+ public RuleCall getValueHASHTerminalRuleCall_0() { return cValueHASHTerminalRuleCall_0; }
+ }
+
+ public class OperatorElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Operator");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final Group cGroup_0 = (Group)cAlternatives.eContents().get(0);
+ private final Keyword cSolidusKeyword_0_0 = (Keyword)cGroup_0.eContents().get(0);
+ private final RuleCall cWSTerminalRuleCall_0_1 = (RuleCall)cGroup_0.eContents().get(1);
+ private final Group cGroup_1 = (Group)cAlternatives.eContents().get(1);
+ private final Keyword cCommaKeyword_1_0 = (Keyword)cGroup_1.eContents().get(0);
+ private final RuleCall cWSTerminalRuleCall_1_1 = (RuleCall)cGroup_1.eContents().get(1);
+
+ //Operator:
+ // "/" WS* | "," WS*;
+ public ParserRule getRule() { return rule; }
+
+ //"/" WS* | "," WS*
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //"/" WS*
+ public Group getGroup_0() { return cGroup_0; }
+
+ //"/"
+ public Keyword getSolidusKeyword_0_0() { return cSolidusKeyword_0_0; }
+
+ //WS*
+ public RuleCall getWSTerminalRuleCall_0_1() { return cWSTerminalRuleCall_0_1; }
+
+ //"," WS*
+ public Group getGroup_1() { return cGroup_1; }
+
+ //","
+ public Keyword getCommaKeyword_1_0() { return cCommaKeyword_1_0; }
+
+ //WS*
+ public RuleCall getWSTerminalRuleCall_1_1() { return cWSTerminalRuleCall_1_1; }
+ }
+
+ public class ClassElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Class");
+ private final Assignment cClassAssignment = (Assignment)rule.eContents().get(1);
+ private final RuleCall cClassT_CLASSTerminalRuleCall_0 = (RuleCall)cClassAssignment.eContents().get(0);
+
+ //Class:
+ // class=T_CLASS;
+ public ParserRule getRule() { return rule; }
+
+ //class=T_CLASS
+ public Assignment getClassAssignment() { return cClassAssignment; }
+
+ //T_CLASS
+ public RuleCall getClassT_CLASSTerminalRuleCall_0() { return cClassT_CLASSTerminalRuleCall_0; }
+ }
+
+ public class AttributeElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Attribute");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cLeftSquareBracketKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final RuleCall cWSTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1);
+ private final Assignment cNameAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final RuleCall cNameIDTerminalRuleCall_2_0 = (RuleCall)cNameAssignment_2.eContents().get(0);
+ private final RuleCall cWSTerminalRuleCall_3 = (RuleCall)cGroup.eContents().get(3);
+ private final Assignment cValueAssignment_4 = (Assignment)cGroup.eContents().get(4);
+ private final RuleCall cValueAttributeValueParserRuleCall_4_0 = (RuleCall)cValueAssignment_4.eContents().get(0);
+ private final Keyword cRightSquareBracketKeyword_5 = (Keyword)cGroup.eContents().get(5);
+
+ //Attribute:
+ // "[" WS* name=ID WS* value=AttributeValue? "]";
+ public ParserRule getRule() { return rule; }
+
+ //"[" WS* name=ID WS* value=AttributeValue? "]"
+ public Group getGroup() { return cGroup; }
+
+ //"["
+ public Keyword getLeftSquareBracketKeyword_0() { return cLeftSquareBracketKeyword_0; }
+
+ //WS*
+ public RuleCall getWSTerminalRuleCall_1() { return cWSTerminalRuleCall_1; }
+
+ //name=ID
+ public Assignment getNameAssignment_2() { return cNameAssignment_2; }
+
+ //ID
+ public RuleCall getNameIDTerminalRuleCall_2_0() { return cNameIDTerminalRuleCall_2_0; }
+
+ //WS*
+ public RuleCall getWSTerminalRuleCall_3() { return cWSTerminalRuleCall_3; }
+
+ //value=AttributeValue?
+ public Assignment getValueAssignment_4() { return cValueAssignment_4; }
+
+ //AttributeValue
+ public RuleCall getValueAttributeValueParserRuleCall_4_0() { return cValueAttributeValueParserRuleCall_4_0; }
+
+ //"]"
+ public Keyword getRightSquareBracketKeyword_5() { return cRightSquareBracketKeyword_5; }
+ }
+
+ public class AttributeValueElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "AttributeValue");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Assignment cOperatorAssignment_0 = (Assignment)cGroup.eContents().get(0);
+ private final RuleCall cOperatorATTRIBUTE_OPEnumRuleCall_0_0 = (RuleCall)cOperatorAssignment_0.eContents().get(0);
+ private final RuleCall cWSTerminalRuleCall_1 = (RuleCall)cGroup.eContents().get(1);
+ private final Assignment cValueAssignment_2 = (Assignment)cGroup.eContents().get(2);
+ private final Alternatives cValueAlternatives_2_0 = (Alternatives)cValueAssignment_2.eContents().get(0);
+ private final RuleCall cValueIDTerminalRuleCall_2_0_0 = (RuleCall)cValueAlternatives_2_0.eContents().get(0);
+ private final RuleCall cValueSTRINGTerminalRuleCall_2_0_1 = (RuleCall)cValueAlternatives_2_0.eContents().get(1);
+ private final RuleCall cWSTerminalRuleCall_3 = (RuleCall)cGroup.eContents().get(3);
+
+ //AttributeValue:
+ // operator=ATTRIBUTE_OP WS* value=(ID | STRING) WS*;
+ public ParserRule getRule() { return rule; }
+
+ //operator=ATTRIBUTE_OP WS* value=(ID | STRING) WS*
+ public Group getGroup() { return cGroup; }
+
+ //operator=ATTRIBUTE_OP
+ public Assignment getOperatorAssignment_0() { return cOperatorAssignment_0; }
+
+ //ATTRIBUTE_OP
+ public RuleCall getOperatorATTRIBUTE_OPEnumRuleCall_0_0() { return cOperatorATTRIBUTE_OPEnumRuleCall_0_0; }
+
+ //WS*
+ public RuleCall getWSTerminalRuleCall_1() { return cWSTerminalRuleCall_1; }
+
+ //value=(ID | STRING)
+ public Assignment getValueAssignment_2() { return cValueAssignment_2; }
+
+ //ID | STRING
+ public Alternatives getValueAlternatives_2_0() { return cValueAlternatives_2_0; }
+
+ //ID
+ public RuleCall getValueIDTerminalRuleCall_2_0_0() { return cValueIDTerminalRuleCall_2_0_0; }
+
+ //STRING
+ public RuleCall getValueSTRINGTerminalRuleCall_2_0_1() { return cValueSTRINGTerminalRuleCall_2_0_1; }
+
+ //WS*
+ public RuleCall getWSTerminalRuleCall_3() { return cWSTerminalRuleCall_3; }
+ }
+
+ public class PseudoElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "Pseudo");
+ private final Group cGroup = (Group)rule.eContents().get(1);
+ private final Keyword cColonKeyword_0 = (Keyword)cGroup.eContents().get(0);
+ private final Alternatives cAlternatives_1 = (Alternatives)cGroup.eContents().get(1);
+ private final Assignment cPseudoAssignment_1_0 = (Assignment)cAlternatives_1.eContents().get(0);
+ private final RuleCall cPseudoIDTerminalRuleCall_1_0_0 = (RuleCall)cPseudoAssignment_1_0.eContents().get(0);
+ private final Group cGroup_1_1 = (Group)cAlternatives_1.eContents().get(1);
+ private final Assignment cPseudoAssignment_1_1_0 = (Assignment)cGroup_1_1.eContents().get(0);
+ private final RuleCall cPseudoIDTerminalRuleCall_1_1_0_0 = (RuleCall)cPseudoAssignment_1_1_0.eContents().get(0);
+ private final Keyword cLeftParenthesisKeyword_1_1_1 = (Keyword)cGroup_1_1.eContents().get(1);
+ private final RuleCall cWSTerminalRuleCall_1_1_2 = (RuleCall)cGroup_1_1.eContents().get(2);
+ private final Group cGroup_1_1_3 = (Group)cGroup_1_1.eContents().get(3);
+ private final Assignment cArgsAssignment_1_1_3_0 = (Assignment)cGroup_1_1_3.eContents().get(0);
+ private final RuleCall cArgsIDTerminalRuleCall_1_1_3_0_0 = (RuleCall)cArgsAssignment_1_1_3_0.eContents().get(0);
+ private final RuleCall cWSTerminalRuleCall_1_1_3_1 = (RuleCall)cGroup_1_1_3.eContents().get(1);
+ private final Keyword cRightParenthesisKeyword_1_1_4 = (Keyword)cGroup_1_1.eContents().get(4);
+
+ //Pseudo:
+ // ":" (pseudo=ID | pseudo=ID "(" WS* (args=ID WS*)? ")");
+ public ParserRule getRule() { return rule; }
+
+ //":" (pseudo=ID | pseudo=ID "(" WS* (args=ID WS*)? ")")
+ public Group getGroup() { return cGroup; }
+
+ //":"
+ public Keyword getColonKeyword_0() { return cColonKeyword_0; }
+
+ //pseudo=ID | pseudo=ID "(" WS* (args=ID WS*)? ")"
+ public Alternatives getAlternatives_1() { return cAlternatives_1; }
+
+ //pseudo=ID
+ public Assignment getPseudoAssignment_1_0() { return cPseudoAssignment_1_0; }
+
+ //ID
+ public RuleCall getPseudoIDTerminalRuleCall_1_0_0() { return cPseudoIDTerminalRuleCall_1_0_0; }
+
+ //pseudo=ID "(" WS* (args=ID WS*)? ")"
+ public Group getGroup_1_1() { return cGroup_1_1; }
+
+ //pseudo=ID
+ public Assignment getPseudoAssignment_1_1_0() { return cPseudoAssignment_1_1_0; }
+
+ //ID
+ public RuleCall getPseudoIDTerminalRuleCall_1_1_0_0() { return cPseudoIDTerminalRuleCall_1_1_0_0; }
+
+ //"("
+ public Keyword getLeftParenthesisKeyword_1_1_1() { return cLeftParenthesisKeyword_1_1_1; }
+
+ //WS*
+ public RuleCall getWSTerminalRuleCall_1_1_2() { return cWSTerminalRuleCall_1_1_2; }
+
+ //(args=ID WS*)?
+ public Group getGroup_1_1_3() { return cGroup_1_1_3; }
+
+ //args=ID
+ public Assignment getArgsAssignment_1_1_3_0() { return cArgsAssignment_1_1_3_0; }
+
+ //ID
+ public RuleCall getArgsIDTerminalRuleCall_1_1_3_0_0() { return cArgsIDTerminalRuleCall_1_1_3_0_0; }
+
+ //WS*
+ public RuleCall getWSTerminalRuleCall_1_1_3_1() { return cWSTerminalRuleCall_1_1_3_1; }
+
+ //")"
+ public Keyword getRightParenthesisKeyword_1_1_4() { return cRightParenthesisKeyword_1_1_4; }
+ }
+
+ public class CSSIdElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "CSSId");
+ private final Assignment cValueAssignment = (Assignment)rule.eContents().get(1);
+ private final RuleCall cValueHASHTerminalRuleCall_0 = (RuleCall)cValueAssignment.eContents().get(0);
+
+ //CSSId:
+ // value=HASH;
+ public ParserRule getRule() { return rule; }
+
+ //value=HASH
+ public Assignment getValueAssignment() { return cValueAssignment; }
+
+ //HASH
+ public RuleCall getValueHASHTerminalRuleCall_0() { return cValueHASHTerminalRuleCall_0; }
+ }
+
+ public class UnaryOperatorElements extends AbstractParserRuleElementFinder {
+ private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "UnaryOperator");
+ private final Assignment cOperatorAssignment = (Assignment)rule.eContents().get(1);
+ private final RuleCall cOperatorUNARYEnumRuleCall_0 = (RuleCall)cOperatorAssignment.eContents().get(0);
+
+ //UnaryOperator:
+ // operator=UNARY;
+ public ParserRule getRule() { return rule; }
+
+ //operator=UNARY
+ public Assignment getOperatorAssignment() { return cOperatorAssignment; }
+
+ //UNARY
+ public RuleCall getOperatorUNARYEnumRuleCall_0() { return cOperatorUNARYEnumRuleCall_0; }
+ }
+
+
+ public class UNARYElements extends AbstractEnumRuleElementFinder {
+ private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "UNARY");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final EnumLiteralDeclaration cNEGEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
+ private final Keyword cNEGHyphenMinusKeyword_0_0 = (Keyword)cNEGEnumLiteralDeclaration_0.eContents().get(0);
+ private final EnumLiteralDeclaration cPLUSEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
+ private final Keyword cPLUSPlusSignKeyword_1_0 = (Keyword)cPLUSEnumLiteralDeclaration_1.eContents().get(0);
+
+ //enum UNARY:
+ // NEG="-" | PLUS="+";
+ public EnumRule getRule() { return rule; }
+
+ //NEG="-" | PLUS="+"
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //NEG="-"
+ public EnumLiteralDeclaration getNEGEnumLiteralDeclaration_0() { return cNEGEnumLiteralDeclaration_0; }
+
+ //"-"
+ public Keyword getNEGHyphenMinusKeyword_0_0() { return cNEGHyphenMinusKeyword_0_0; }
+
+ //PLUS="+"
+ public EnumLiteralDeclaration getPLUSEnumLiteralDeclaration_1() { return cPLUSEnumLiteralDeclaration_1; }
+
+ //"+"
+ public Keyword getPLUSPlusSignKeyword_1_0() { return cPLUSPlusSignKeyword_1_0; }
+ }
+
+ public class KINDElements extends AbstractEnumRuleElementFinder {
+ private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "KIND");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final EnumLiteralDeclaration cFIRST_CHILDEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
+ private final Keyword cFIRST_CHILDGreaterThanSignKeyword_0_0 = (Keyword)cFIRST_CHILDEnumLiteralDeclaration_0.eContents().get(0);
+ private final EnumLiteralDeclaration cSIBLINGEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
+ private final Keyword cSIBLINGPlusSignKeyword_1_0 = (Keyword)cSIBLINGEnumLiteralDeclaration_1.eContents().get(0);
+
+ //enum KIND:
+ // FIRST_CHILD=">" | SIBLING="+";
+ public EnumRule getRule() { return rule; }
+
+ //FIRST_CHILD=">" | SIBLING="+"
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //FIRST_CHILD=">"
+ public EnumLiteralDeclaration getFIRST_CHILDEnumLiteralDeclaration_0() { return cFIRST_CHILDEnumLiteralDeclaration_0; }
+
+ //">"
+ public Keyword getFIRST_CHILDGreaterThanSignKeyword_0_0() { return cFIRST_CHILDGreaterThanSignKeyword_0_0; }
+
+ //SIBLING="+"
+ public EnumLiteralDeclaration getSIBLINGEnumLiteralDeclaration_1() { return cSIBLINGEnumLiteralDeclaration_1; }
+
+ //"+"
+ public Keyword getSIBLINGPlusSignKeyword_1_0() { return cSIBLINGPlusSignKeyword_1_0; }
+ }
+
+ public class ATTRIBUTE_OPElements extends AbstractEnumRuleElementFinder {
+ private final EnumRule rule = (EnumRule) GrammarUtil.findRuleForName(getGrammar(), "ATTRIBUTE_OP");
+ private final Alternatives cAlternatives = (Alternatives)rule.eContents().get(1);
+ private final EnumLiteralDeclaration cEQUALSEnumLiteralDeclaration_0 = (EnumLiteralDeclaration)cAlternatives.eContents().get(0);
+ private final Keyword cEQUALSEqualsSignKeyword_0_0 = (Keyword)cEQUALSEnumLiteralDeclaration_0.eContents().get(0);
+ private final EnumLiteralDeclaration cCONTAINSEnumLiteralDeclaration_1 = (EnumLiteralDeclaration)cAlternatives.eContents().get(1);
+ private final Keyword cCONTAINSTildeEqualsSignKeyword_1_0 = (Keyword)cCONTAINSEnumLiteralDeclaration_1.eContents().get(0);
+ private final EnumLiteralDeclaration cUNEQUALSEnumLiteralDeclaration_2 = (EnumLiteralDeclaration)cAlternatives.eContents().get(2);
+ private final Keyword cUNEQUALSExclamationMarkEqualsSignKeyword_2_0 = (Keyword)cUNEQUALSEnumLiteralDeclaration_2.eContents().get(0);
+
+ //enum ATTRIBUTE_OP:
+ // EQUALS="=" | CONTAINS="~=" | UNEQUALS="!=";
+ public EnumRule getRule() { return rule; }
+
+ //EQUALS="=" | CONTAINS="~=" | UNEQUALS="!="
+ public Alternatives getAlternatives() { return cAlternatives; }
+
+ //EQUALS="="
+ public EnumLiteralDeclaration getEQUALSEnumLiteralDeclaration_0() { return cEQUALSEnumLiteralDeclaration_0; }
+
+ //"="
+ public Keyword getEQUALSEqualsSignKeyword_0_0() { return cEQUALSEqualsSignKeyword_0_0; }
+
+ //CONTAINS="~="
+ public EnumLiteralDeclaration getCONTAINSEnumLiteralDeclaration_1() { return cCONTAINSEnumLiteralDeclaration_1; }
+
+ //"~="
+ public Keyword getCONTAINSTildeEqualsSignKeyword_1_0() { return cCONTAINSTildeEqualsSignKeyword_1_0; }
+
+ //UNEQUALS="!="
+ public EnumLiteralDeclaration getUNEQUALSEnumLiteralDeclaration_2() { return cUNEQUALSEnumLiteralDeclaration_2; }
+
+ //"!="
+ public Keyword getUNEQUALSExclamationMarkEqualsSignKeyword_2_0() { return cUNEQUALSExclamationMarkEqualsSignKeyword_2_0; }
+ }
+
+ private StylesheetElements pStylesheet;
+ private ContentElements pContent;
+ private ImportElements pImport;
+ private MediaElements pMedia;
+ private PageElements pPage;
+ private PseudoPageElements pPseudoPage;
+ private RulesetElements pRuleset;
+ private SelectorElements pSelector;
+ private CompositeSelectorElements pCompositeSelector;
+ private SimpleSelectorElements pSimpleSelector;
+ private SelectorConditionElements pSelectorCondition;
+ private CombinatorElements pCombinator;
+ private DeclarationElements pDeclaration;
+ private ExpressionElements pExpression;
+ private SubtermElements pSubterm;
+ private TermElements pTerm;
+ private FunctionElements pFunction;
+ private NameElements pName;
+ private NumberElements pNumber;
+ private PercentageElements pPercentage;
+ private LengthElements pLength;
+ private EmsElements pEms;
+ private ExsElements pExs;
+ private AngleElements pAngle;
+ private TimeElements pTime;
+ private FrequencyElements pFrequency;
+ private UriElements pUri;
+ private StringValueElements pStringValue;
+ private HexColorElements pHexColor;
+ private OperatorElements pOperator;
+ private ClassElements pClass;
+ private AttributeElements pAttribute;
+ private AttributeValueElements pAttributeValue;
+ private PseudoElements pPseudo;
+ private CSSIdElements pCSSId;
+ private UnaryOperatorElements pUnaryOperator;
+ private UNARYElements unknownRuleUNARY;
+ private KINDElements unknownRuleKIND;
+ private ATTRIBUTE_OPElements unknownRuleATTRIBUTE_OP;
+ private TerminalRule tHASH;
+ private TerminalRule tT_CLASS;
+ private TerminalRule tT_IMPORTANT;
+ private TerminalRule tPC_UNIT;
+ private TerminalRule tLEN_UNIT;
+ private TerminalRule tEM_UNIT;
+ private TerminalRule tEX_UNIT;
+ private TerminalRule tANGLE_UNIT;
+ private TerminalRule tTIME_UNIT;
+ private TerminalRule tFREQ_UNIT;
+ private TerminalRule tT_NUM;
+ private TerminalRule tID;
+ private TerminalRule tSTRING;
+ private TerminalRule tCDO;
+ private TerminalRule tCDC;
+ private TerminalRule tML_COMMENT;
+ private TerminalRule tWS;
+ private TerminalRule tANY_OTHER;
+
+ private final GrammarProvider grammarProvider;
+
+ @Inject
+ public CSSGrammarAccess(GrammarProvider grammarProvider) {
+ this.grammarProvider = grammarProvider;
+ }
+
+ public Grammar getGrammar() {
+ return grammarProvider.getGrammar(this);
+ }
+
+
+
+ //Stylesheet:
+ // ("@charset " charset=STRING ";")? (WS | CDO | CDC)* (imports+=Import (CDO WS* | CDC WS*)*)* (contents+=Content (CDO
+ // WS* | CDC WS*)*)*;
+ public StylesheetElements getStylesheetAccess() {
+ return (pStylesheet != null) ? pStylesheet : (pStylesheet = new StylesheetElements());
+ }
+
+ public ParserRule getStylesheetRule() {
+ return getStylesheetAccess().getRule();
+ }
+
+ //Content:
+ // Ruleset | Media | Page;
+ public ContentElements getContentAccess() {
+ return (pContent != null) ? pContent : (pContent = new ContentElements());
+ }
+
+ public ParserRule getContentRule() {
+ return getContentAccess().getRule();
+ }
+
+ //Import:
+ // "@import" (WS* string=STRING | WS uri=Uri) WS* (media+=ID WS* ("," WS* media+=ID)*)? ";" WS*;
+ public ImportElements getImportAccess() {
+ return (pImport != null) ? pImport : (pImport = new ImportElements());
+ }
+
+ public ParserRule getImportRule() {
+ return getImportAccess().getRule();
+ }
+
+ //Media:
+ // "@media" WS media+=ID WS* ("," WS* media+=ID)* "{" WS* rules+=Ruleset* "}" WS*;
+ public MediaElements getMediaAccess() {
+ return (pMedia != null) ? pMedia : (pMedia = new MediaElements());
+ }
+
+ public ParserRule getMediaRule() {
+ return getMediaAccess().getRule();
+ }
+
+ //Page:
+ // {Page} "@page" WS* pseudo=PseudoPage? "{" WS* declarations+=Declaration? (";" WS* declarations+=Declaration?)* "}"
+ // WS*;
+ public PageElements getPageAccess() {
+ return (pPage != null) ? pPage : (pPage = new PageElements());
+ }
+
+ public ParserRule getPageRule() {
+ return getPageAccess().getRule();
+ }
+
+ //PseudoPage:
+ // ":" id=ID WS*;
+ public PseudoPageElements getPseudoPageAccess() {
+ return (pPseudoPage != null) ? pPseudoPage : (pPseudoPage = new PseudoPageElements());
+ }
+
+ public ParserRule getPseudoPageRule() {
+ return getPseudoPageAccess().getRule();
+ }
+
+ //Ruleset:
+ // selectors+=Selector ("," WS* selectors+=Selector)* "{" WS* properties+=Declaration? (";" WS*
+ // properties+=Declaration?)* "}" WS*;
+ public RulesetElements getRulesetAccess() {
+ return (pRuleset != null) ? pRuleset : (pRuleset = new RulesetElements());
+ }
+
+ public ParserRule getRulesetRule() {
+ return getRulesetAccess().getRule();
+ }
+
+ //Selector:
+ // SimpleSelector WS* | CompositeSelector;
+ public SelectorElements getSelectorAccess() {
+ return (pSelector != null) ? pSelector : (pSelector = new SelectorElements());
+ }
+
+ public ParserRule getSelectorRule() {
+ return getSelectorAccess().getRule();
+ }
+
+ ////left=SimpleSelector (combinator=Combinator right=Selector | WS+ (combinator=Combinator? right=Selector)?)?;
+ //CompositeSelector:
+ // left=SimpleSelector (WS+ | WS* combinator=Combinator) right=Selector;
+ public CompositeSelectorElements getCompositeSelectorAccess() {
+ return (pCompositeSelector != null) ? pCompositeSelector : (pCompositeSelector = new CompositeSelectorElements());
+ }
+
+ public ParserRule getCompositeSelectorRule() {
+ return getCompositeSelectorAccess().getRule();
+ }
+
+ //SimpleSelector:
+ // elementName=(ID | "*") condition+=SelectorCondition* | condition+=SelectorCondition+;
+ public SimpleSelectorElements getSimpleSelectorAccess() {
+ return (pSimpleSelector != null) ? pSimpleSelector : (pSimpleSelector = new SimpleSelectorElements());
+ }
+
+ public ParserRule getSimpleSelectorRule() {
+ return getSimpleSelectorAccess().getRule();
+ }
+
+ //SelectorCondition:
+ // CSSId | Class | Attribute | Pseudo;
+ public SelectorConditionElements getSelectorConditionAccess() {
+ return (pSelectorCondition != null) ? pSelectorCondition : (pSelectorCondition = new SelectorConditionElements());
+ }
+
+ public ParserRule getSelectorConditionRule() {
+ return getSelectorConditionAccess().getRule();
+ }
+
+ //Combinator:
+ // kind=KIND WS*;
+ public CombinatorElements getCombinatorAccess() {
+ return (pCombinator != null) ? pCombinator : (pCombinator = new CombinatorElements());
+ }
+
+ public ParserRule getCombinatorRule() {
+ return getCombinatorAccess().getRule();
+ }
+
+ //Declaration:
+ // property=ID WS* ":" WS* expression=Expression (important?=T_IMPORTANT WS*)?;
+ public DeclarationElements getDeclarationAccess() {
+ return (pDeclaration != null) ? pDeclaration : (pDeclaration = new DeclarationElements());
+ }
+
+ public ParserRule getDeclarationRule() {
+ return getDeclarationAccess().getRule();
+ }
+
+ //Expression:
+ // terms=Term subterms+=Subterm*;
+ public ExpressionElements getExpressionAccess() {
+ return (pExpression != null) ? pExpression : (pExpression = new ExpressionElements());
+ }
+
+ public ParserRule getExpressionRule() {
+ return getExpressionAccess().getRule();
+ }
+
+ //Subterm:
+ // operator=Operator? term=Term;
+ public SubtermElements getSubtermAccess() {
+ return (pSubterm != null) ? pSubterm : (pSubterm = new SubtermElements());
+ }
+
+ public ParserRule getSubtermRule() {
+ return getSubtermAccess().getRule();
+ }
+
+ //Term:
+ // (Number | Percentage | Length | Ems | Exs | Angle | Time | Frequency | Name | StringValue | Uri | HexColor | Function)
+ // WS*;
+ public TermElements getTermAccess() {
+ return (pTerm != null) ? pTerm : (pTerm = new TermElements());
+ }
+
+ public ParserRule getTermRule() {
+ return getTermAccess().getRule();
+ }
+
+ //Function:
+ // name=ID "(" WS* args=Expression ")";
+ public FunctionElements getFunctionAccess() {
+ return (pFunction != null) ? pFunction : (pFunction = new FunctionElements());
+ }
+
+ public ParserRule getFunctionRule() {
+ return getFunctionAccess().getRule();
+ }
+
+ //Name:
+ // value=ID;
+ public NameElements getNameAccess() {
+ return (pName != null) ? pName : (pName = new NameElements());
+ }
+
+ public ParserRule getNameRule() {
+ return getNameAccess().getRule();
+ }
+
+ ////Terms
+ //Number:
+ // op=UnaryOperator? value=T_NUM;
+ public NumberElements getNumberAccess() {
+ return (pNumber != null) ? pNumber : (pNumber = new NumberElements());
+ }
+
+ public ParserRule getNumberRule() {
+ return getNumberAccess().getRule();
+ }
+
+ //Percentage:
+ // op=UnaryOperator? value=T_NUM unit=PC_UNIT;
+ public PercentageElements getPercentageAccess() {
+ return (pPercentage != null) ? pPercentage : (pPercentage = new PercentageElements());
+ }
+
+ public ParserRule getPercentageRule() {
+ return getPercentageAccess().getRule();
+ }
+
+ //Length:
+ // op=UnaryOperator? value=T_NUM unit=LEN_UNIT;
+ public LengthElements getLengthAccess() {
+ return (pLength != null) ? pLength : (pLength = new LengthElements());
+ }
+
+ public ParserRule getLengthRule() {
+ return getLengthAccess().getRule();
+ }
+
+ //Ems:
+ // op=UnaryOperator? value=T_NUM unit=EM_UNIT;
+ public EmsElements getEmsAccess() {
+ return (pEms != null) ? pEms : (pEms = new EmsElements());
+ }
+
+ public ParserRule getEmsRule() {
+ return getEmsAccess().getRule();
+ }
+
+ //Exs:
+ // op=UnaryOperator? value=T_NUM unit=EX_UNIT;
+ public ExsElements getExsAccess() {
+ return (pExs != null) ? pExs : (pExs = new ExsElements());
+ }
+
+ public ParserRule getExsRule() {
+ return getExsAccess().getRule();
+ }
+
+ //Angle:
+ // op=UnaryOperator? value=T_NUM unit=ANGLE_UNIT;
+ public AngleElements getAngleAccess() {
+ return (pAngle != null) ? pAngle : (pAngle = new AngleElements());
+ }
+
+ public ParserRule getAngleRule() {
+ return getAngleAccess().getRule();
+ }
+
+ //Time:
+ // op=UnaryOperator? value=T_NUM unit=TIME_UNIT;
+ public TimeElements getTimeAccess() {
+ return (pTime != null) ? pTime : (pTime = new TimeElements());
+ }
+
+ public ParserRule getTimeRule() {
+ return getTimeAccess().getRule();
+ }
+
+ //Frequency:
+ // op=UnaryOperator? value=T_NUM unit=FREQ_UNIT;
+ public FrequencyElements getFrequencyAccess() {
+ return (pFrequency != null) ? pFrequency : (pFrequency = new FrequencyElements());
+ }
+
+ public ParserRule getFrequencyRule() {
+ return getFrequencyAccess().getRule();
+ }
+
+ /// * | 'url(' WS? url=URL WS? ')' * / //TODO
+ //Uri:
+ // "url(" WS? value=STRING WS? ")";
+ public UriElements getUriAccess() {
+ return (pUri != null) ? pUri : (pUri = new UriElements());
+ }
+
+ public ParserRule getUriRule() {
+ return getUriAccess().getRule();
+ }
+
+ //StringValue:
+ // value=STRING;
+ public StringValueElements getStringValueAccess() {
+ return (pStringValue != null) ? pStringValue : (pStringValue = new StringValueElements());
+ }
+
+ public ParserRule getStringValueRule() {
+ return getStringValueAccess().getRule();
+ }
+
+ ////terminal URL:
+ //// (('!' | '#' | '$' | '%' | '&' | '*' | '-' | '~') / * | NON_ASCII | ESCAPE * /)*;
+ ////terminal NON_ASCII:
+ //// (\0240..\0377) //Chars 160 to 255
+ ////;
+ ////terminal UNICODE:
+ //// '\\' HEXA (HEXA (HEXA (HEXA (HEXA (HEXA)?)?)?)?)? ('\r\n' | ' ' | '\t' | '\r' | '\n')?;
+ ////
+ ////terminal ESCAPE:
+ //// UNICODE | ('\\' !('\r' | '\n' | '0'..'9' | 'a'..'f' | 'A'..'F'));
+ //HexColor:
+ // value=HASH;
+ public HexColorElements getHexColorAccess() {
+ return (pHexColor != null) ? pHexColor : (pHexColor = new HexColorElements());
+ }
+
+ public ParserRule getHexColorRule() {
+ return getHexColorAccess().getRule();
+ }
+
+ //Operator:
+ // "/" WS* | "," WS*;
+ public OperatorElements getOperatorAccess() {
+ return (pOperator != null) ? pOperator : (pOperator = new OperatorElements());
+ }
+
+ public ParserRule getOperatorRule() {
+ return getOperatorAccess().getRule();
+ }
+
+ //Class:
+ // class=T_CLASS;
+ public ClassElements getClassAccess() {
+ return (pClass != null) ? pClass : (pClass = new ClassElements());
+ }
+
+ public ParserRule getClassRule() {
+ return getClassAccess().getRule();
+ }
+
+ //Attribute:
+ // "[" WS* name=ID WS* value=AttributeValue? "]";
+ public AttributeElements getAttributeAccess() {
+ return (pAttribute != null) ? pAttribute : (pAttribute = new AttributeElements());
+ }
+
+ public ParserRule getAttributeRule() {
+ return getAttributeAccess().getRule();
+ }
+
+ //AttributeValue:
+ // operator=ATTRIBUTE_OP WS* value=(ID | STRING) WS*;
+ public AttributeValueElements getAttributeValueAccess() {
+ return (pAttributeValue != null) ? pAttributeValue : (pAttributeValue = new AttributeValueElements());
+ }
+
+ public ParserRule getAttributeValueRule() {
+ return getAttributeValueAccess().getRule();
+ }
+
+ //Pseudo:
+ // ":" (pseudo=ID | pseudo=ID "(" WS* (args=ID WS*)? ")");
+ public PseudoElements getPseudoAccess() {
+ return (pPseudo != null) ? pPseudo : (pPseudo = new PseudoElements());
+ }
+
+ public ParserRule getPseudoRule() {
+ return getPseudoAccess().getRule();
+ }
+
+ //CSSId:
+ // value=HASH;
+ public CSSIdElements getCSSIdAccess() {
+ return (pCSSId != null) ? pCSSId : (pCSSId = new CSSIdElements());
+ }
+
+ public ParserRule getCSSIdRule() {
+ return getCSSIdAccess().getRule();
+ }
+
+ //UnaryOperator:
+ // operator=UNARY;
+ public UnaryOperatorElements getUnaryOperatorAccess() {
+ return (pUnaryOperator != null) ? pUnaryOperator : (pUnaryOperator = new UnaryOperatorElements());
+ }
+
+ public ParserRule getUnaryOperatorRule() {
+ return getUnaryOperatorAccess().getRule();
+ }
+
+ //enum UNARY:
+ // NEG="-" | PLUS="+";
+ public UNARYElements getUNARYAccess() {
+ return (unknownRuleUNARY != null) ? unknownRuleUNARY : (unknownRuleUNARY = new UNARYElements());
+ }
+
+ public EnumRule getUNARYRule() {
+ return getUNARYAccess().getRule();
+ }
+
+ //enum KIND:
+ // FIRST_CHILD=">" | SIBLING="+";
+ public KINDElements getKINDAccess() {
+ return (unknownRuleKIND != null) ? unknownRuleKIND : (unknownRuleKIND = new KINDElements());
+ }
+
+ public EnumRule getKINDRule() {
+ return getKINDAccess().getRule();
+ }
+
+ //enum ATTRIBUTE_OP:
+ // EQUALS="=" | CONTAINS="~=" | UNEQUALS="!=";
+ public ATTRIBUTE_OPElements getATTRIBUTE_OPAccess() {
+ return (unknownRuleATTRIBUTE_OP != null) ? unknownRuleATTRIBUTE_OP : (unknownRuleATTRIBUTE_OP = new ATTRIBUTE_OPElements());
+ }
+
+ public EnumRule getATTRIBUTE_OPRule() {
+ return getATTRIBUTE_OPAccess().getRule();
+ }
+
+ //terminal HASH:
+ // "#" ("A".."Z" | "a".."z" | "0".."9")+;
+ public TerminalRule getHASHRule() {
+ return (tHASH != null) ? tHASH : (tHASH = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "HASH"));
+ }
+
+ //terminal T_CLASS:
+ // "." ID;
+ public TerminalRule getT_CLASSRule() {
+ return (tT_CLASS != null) ? tT_CLASS : (tT_CLASS = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "T_CLASS"));
+ }
+
+ ////This is not the exact CSS Grammar
+ //terminal T_IMPORTANT:
+ // "!important";
+ public TerminalRule getT_IMPORTANTRule() {
+ return (tT_IMPORTANT != null) ? tT_IMPORTANT : (tT_IMPORTANT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "T_IMPORTANT"));
+ }
+
+ //terminal PC_UNIT:
+ // "%";
+ public TerminalRule getPC_UNITRule() {
+ return (tPC_UNIT != null) ? tPC_UNIT : (tPC_UNIT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "PC_UNIT"));
+ }
+
+ //terminal LEN_UNIT:
+ // "px" | "cm" | "mm" | "in" | "pt" | "pc";
+ public TerminalRule getLEN_UNITRule() {
+ return (tLEN_UNIT != null) ? tLEN_UNIT : (tLEN_UNIT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "LEN_UNIT"));
+ }
+
+ //terminal EM_UNIT:
+ // "em";
+ public TerminalRule getEM_UNITRule() {
+ return (tEM_UNIT != null) ? tEM_UNIT : (tEM_UNIT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "EM_UNIT"));
+ }
+
+ //terminal EX_UNIT:
+ // "ex";
+ public TerminalRule getEX_UNITRule() {
+ return (tEX_UNIT != null) ? tEX_UNIT : (tEX_UNIT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "EX_UNIT"));
+ }
+
+ //terminal ANGLE_UNIT:
+ // "deg" | "rad" | "grad";
+ public TerminalRule getANGLE_UNITRule() {
+ return (tANGLE_UNIT != null) ? tANGLE_UNIT : (tANGLE_UNIT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "ANGLE_UNIT"));
+ }
+
+ //terminal TIME_UNIT:
+ // "s" | "ms";
+ public TerminalRule getTIME_UNITRule() {
+ return (tTIME_UNIT != null) ? tTIME_UNIT : (tTIME_UNIT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "TIME_UNIT"));
+ }
+
+ //terminal FREQ_UNIT:
+ // "hz" | "mhz";
+ public TerminalRule getFREQ_UNITRule() {
+ return (tFREQ_UNIT != null) ? tFREQ_UNIT : (tFREQ_UNIT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "FREQ_UNIT"));
+ }
+
+ //terminal T_NUM:
+ // "0".."9"+ | "0".."9"* "." "0".."9"+;
+ public TerminalRule getT_NUMRule() {
+ return (tT_NUM != null) ? tT_NUM : (tT_NUM = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "T_NUM"));
+ }
+
+ //terminal ID:
+ // ("a".."z" | "A".."Z" | "_") ("a".."z" | "A".."Z" | "_" | "0".."9")*;
+ public TerminalRule getIDRule() {
+ return (tID != null) ? tID : (tID = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "ID"));
+ }
+
+ //terminal STRING:
+ // "\"" ("\\" ("b" | "t" | "n" | "f" | "r" | "u" | "\"" | "\'" | "\\") | !("\\" | "\""))* "\"" | "\'" ("\\" ("b" | "t" |
+ // "n" | "f" | "r" | "u" | "\"" | "\'" | "\\") | !("\\" | "\'"))* "\'";
+ public TerminalRule getSTRINGRule() {
+ return (tSTRING != null) ? tSTRING : (tSTRING = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "STRING"));
+ }
+
+ //terminal CDO:
+ // "<!--";
+ public TerminalRule getCDORule() {
+ return (tCDO != null) ? tCDO : (tCDO = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "CDO"));
+ }
+
+ //terminal CDC:
+ // "-->";
+ public TerminalRule getCDCRule() {
+ return (tCDC != null) ? tCDC : (tCDC = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "CDC"));
+ }
+
+ ////Doesn't exactly match CSS Comments... * / can be protected by \ : \* / doesn't close the comment in XText, while it does in CSS
+ //terminal ML_COMMENT:
+ // "/ *"->"* /";
+ public TerminalRule getML_COMMENTRule() {
+ return (tML_COMMENT != null) ? tML_COMMENT : (tML_COMMENT = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "ML_COMMENT"));
+ }
+
+ //terminal WS:
+ // (" " | "\t" | "\r" | "\n")+;
+ public TerminalRule getWSRule() {
+ return (tWS != null) ? tWS : (tWS = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "WS"));
+ }
+
+ //terminal ANY_OTHER:
+ // .;
+ public TerminalRule getANY_OTHERRule() {
+ return (tANY_OTHER != null) ? tANY_OTHER : (tANY_OTHER = (TerminalRule) GrammarUtil.findRuleForName(getGrammar(), "ANY_OTHER"));
+ }
+}
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/validation/AbstractCSSJavaValidator.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/validation/AbstractCSSJavaValidator.java
new file mode 100644
index 00000000000..a39929f3796
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/validation/AbstractCSSJavaValidator.java
@@ -0,0 +1,18 @@
+package org.eclipse.papyrus.infra.gmfdiag.validation;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.xtext.validation.AbstractDeclarativeValidator;
+
+public class AbstractCSSJavaValidator extends AbstractDeclarativeValidator {
+
+ @Override
+ protected List<EPackage> getEPackages() {
+ List<EPackage> result = new ArrayList<EPackage>();
+ result.add(org.eclipse.papyrus.infra.gmfdiag.css.CssPackage.eINSTANCE);
+ return result;
+ }
+
+}
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/CSS.xtext b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/CSS.xtext
new file mode 100644
index 00000000000..2d9c3b9c2df
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/CSS.xtext
@@ -0,0 +1,208 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+/**
+ * CSS 2.1 Grammar
+ */
+grammar org.eclipse.papyrus.infra.gmfdiag.CSS hidden(ML_COMMENT)
+//with org.eclipse.xtext.common.Terminals
+import "http://www.eclipse.org/emf/2002/Ecore" as ecore
+generate css "http://www.eclipse.org/papyrus/infra/gmfdiag/CSS"
+
+//Do not create a Stylesheet for WS* (This seems to cause a serialization problem when editing an EMF Model from an Empty file)
+//Do not ignore WS as @charset must be followed by exactly one Space.
+Stylesheet:
+ ('@charset ' charset=STRING ';')?
+ (WS | CDO | CDC)* (imports+=Import (CDO WS* | CDC WS*)*)*
+ (contents+=Content (CDO WS* | CDC WS*)*)*;
+
+Content:
+ Ruleset | Media | Page;
+
+Import:
+ '@import' (WS* string=STRING | WS uri=Uri) WS* (media+=ID WS* (',' WS* media+=ID)*)? ';' WS*;
+
+Media:
+ '@media' WS media+=ID WS* (',' WS* media+=ID)* '{' WS* (rules+=Ruleset)* '}' WS*;
+
+Page:
+ {Page}
+ '@page' WS* pseudo=PseudoPage? '{' WS* declarations+=Declaration? (';' WS* declarations+=Declaration?)* '}' WS*;
+
+PseudoPage:
+ ':' id=ID WS*;
+
+Ruleset:
+ selectors+=Selector (',' WS* selectors+=Selector)* '{' WS* properties+=Declaration? (';' WS*
+ properties+=Declaration?)* '}' WS*;
+
+Selector:
+ (SimpleSelector WS* | CompositeSelector);
+
+ //left=SimpleSelector (combinator=Combinator right=Selector | WS+ (combinator=Combinator? right=Selector)?)?;
+CompositeSelector:
+ left=SimpleSelector (WS+ | WS* combinator=Combinator) right=Selector;
+
+SimpleSelector:
+ (elementName=(ID | '*') condition+=(SelectorCondition)*) | (condition+=(SelectorCondition)+);
+
+SelectorCondition:
+ CSSId | Class | Attribute | Pseudo;
+
+Combinator:
+ kind=KIND WS*;
+
+Declaration:
+ property=ID WS* ':' WS* expression=Expression (important?=T_IMPORTANT WS*)?;
+
+Expression:
+ terms=Term (subterms+=Subterm)*;
+
+Subterm:
+ operator=Operator? term=Term;
+
+Term:
+ (Number | Percentage | Length | Ems | Exs | Angle | Time | Frequency | Name | StringValue | Uri | HexColor | Function)
+ WS*;
+
+Function:
+ name=ID '(' WS* args=Expression ')';
+
+Name:
+ value=ID;
+
+ //Terms
+Number:
+ op=UnaryOperator? value=T_NUM;
+
+Percentage:
+ op=UnaryOperator? value=T_NUM unit=PC_UNIT;
+
+Length:
+ op=UnaryOperator? value=T_NUM unit=LEN_UNIT;
+
+Ems:
+ op=UnaryOperator? value=T_NUM unit=EM_UNIT;
+
+Exs:
+ op=UnaryOperator? value=T_NUM unit=EX_UNIT;
+
+Angle:
+ op=UnaryOperator? value=T_NUM unit=ANGLE_UNIT;
+
+Time:
+ op=UnaryOperator? value=T_NUM unit=TIME_UNIT;
+
+Frequency:
+ op=UnaryOperator? value=T_NUM unit=FREQ_UNIT;
+
+Uri:
+ 'url(' WS? value=STRING WS? ')' /* | 'url(' WS? url=URL WS? ')' */; //TODO
+StringValue:
+ value=STRING;
+
+ //terminal URL:
+// (('!' | '#' | '$' | '%' | '&' | '*' | '-' | '~') /* | NON_ASCII | ESCAPE */)*;
+
+//terminal NON_ASCII:
+// (\0240..\0377) //Chars 160 to 255
+//;
+//terminal UNICODE:
+// '\\' HEXA (HEXA (HEXA (HEXA (HEXA (HEXA)?)?)?)?)? ('\r\n' | ' ' | '\t' | '\r' | '\n')?;
+//
+//terminal ESCAPE:
+// UNICODE | ('\\' !('\r' | '\n' | '0'..'9' | 'a'..'f' | 'A'..'F'));
+HexColor:
+ value=HASH;
+
+Operator:
+ '/' WS* | ',' WS*;
+
+Class:
+ class=T_CLASS;
+
+Attribute:
+ '[' WS* name=ID WS* value=AttributeValue? ']';
+
+AttributeValue:
+ operator=ATTRIBUTE_OP WS* value=(ID | STRING) WS*;
+
+Pseudo:
+ ':' (pseudo=ID | (pseudo=ID '(' WS* (args=ID WS*)? ')'));
+
+CSSId:
+ value=HASH;
+
+UnaryOperator:
+ operator=UNARY;
+
+enum UNARY:
+ NEG='-' | PLUS='+';
+
+enum KIND:
+ FIRST_CHILD='>' | SIBLING='+';
+
+enum ATTRIBUTE_OP:
+ EQUALS='=' | CONTAINS='~=' | UNEQUALS='!=';
+
+terminal HASH:
+ '#' ('A'..'Z' | 'a'..'z' | '0'..'9')+;
+
+terminal T_CLASS:
+ '.' ID;
+
+terminal T_IMPORTANT:
+ '!important'; //This is not the exact CSS Grammar
+terminal PC_UNIT:
+ '%';
+
+terminal LEN_UNIT:
+ 'px' | 'cm' | 'mm' | 'in' | 'pt' | 'pc';
+
+terminal EM_UNIT:
+ 'em';
+
+terminal EX_UNIT:
+ 'ex';
+
+terminal ANGLE_UNIT:
+ 'deg' | 'rad' | 'grad';
+
+terminal TIME_UNIT:
+ 's' | 'ms';
+
+terminal FREQ_UNIT:
+ 'hz' | 'mhz';
+
+terminal T_NUM:
+ ('0'..'9')+ | ('0'..'9')* "." ('0'..'9')+;
+
+terminal ID:
+ ('a'..'z' | 'A'..'Z' | '_') ('a'..'z' | 'A'..'Z' | '_' | '0'..'9')*;
+
+terminal STRING:
+ '"' ('\\' ('b' | 't' | 'n' | 'f' | 'r' | 'u' | '"' | "'" | '\\') | !('\\' | '"'))* '"' |
+ "'" ('\\' ('b' | 't' | 'n' | 'f' | 'r' | 'u' | '"' | "'" | '\\') | !('\\' | "'"))* "'";
+
+terminal CDO:
+ '<!--';
+
+terminal CDC:
+ '-->';
+
+terminal ML_COMMENT:
+ '/*'->'*/'; //Doesn't exactly match CSS Comments... */ can be protected by \ : \*/ doesn't close the comment in XText, while it does in CSS
+terminal WS:
+ (' ' | '\t' | '\r' | '\n')+;
+
+terminal ANY_OTHER:
+ .;
+
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/CSSRuntimeModule.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/CSSRuntimeModule.java
new file mode 100644
index 00000000000..54d7b442532
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/CSSRuntimeModule.java
@@ -0,0 +1,18 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.papyrus.infra.gmfdiag;
+
+import org.eclipse.papyrus.infra.gmfdiag.converter.CSSTerminalConverter;
+import org.eclipse.xtext.conversion.IValueConverterService;
+
+/**
+ * Use this class to register components to be used at runtime / without the Equinox extension registry.
+ */
+public class CSSRuntimeModule extends org.eclipse.papyrus.infra.gmfdiag.AbstractCSSRuntimeModule {
+
+ @Override
+ public Class<? extends IValueConverterService> bindIValueConverterService() {
+ return CSSTerminalConverter.class;
+ }
+}
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/CSSStandaloneSetup.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/CSSStandaloneSetup.java
new file mode 100644
index 00000000000..3889038ffbf
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/CSSStandaloneSetup.java
@@ -0,0 +1,14 @@
+
+package org.eclipse.papyrus.infra.gmfdiag;
+
+/**
+ * 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/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/GenerateCSS.mwe2 b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/GenerateCSS.mwe2
new file mode 100644
index 00000000000..4060f4a2ca2
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/GenerateCSS.mwe2
@@ -0,0 +1,138 @@
+module org.eclipse.papyrus.infra.gmfdiag.GenerateCSS
+
+import org.eclipse.emf.mwe.utils.*
+import org.eclipse.xtext.generator.*
+import org.eclipse.xtext.ui.generator.*
+
+var grammarURI = "classpath:/org/eclipse/papyrus/infra/gmfdiag/CSS.xtext"
+var file.extensions = "css"
+var projectName = "org.eclipse.papyrus.infra.gmfdiag.css.xtext"
+var runtimeProject = "../${projectName}"
+
+Workflow {
+ bean = StandaloneSetup {
+ scanClassPath = true
+ platformUri = "${runtimeProject}/.."
+ // The following two lines can be removed, if Xbase is not used.
+ registerGeneratedEPackage = "org.eclipse.xtext.xbase.XbasePackage"
+ registerGenModelFile = "platform:/resource/org.eclipse.xtext.xbase/model/Xbase.genmodel"
+ }
+
+ component = DirectoryCleaner {
+ directory = "${runtimeProject}/src-gen"
+ }
+
+ component = DirectoryCleaner {
+ directory = "${runtimeProject}.ui/src-gen"
+ }
+
+ component = Generator {
+ pathRtProject = runtimeProject
+ pathUiProject = "${runtimeProject}.ui"
+ pathTestProject = "${runtimeProject}.tests"
+ projectNameRt = projectName
+ projectNameUi = "${projectName}.ui"
+ language = {
+ uri = grammarURI
+ fileExtensions = file.extensions
+
+ // Java API to access grammar elements (required by several other fragments)
+ fragment = grammarAccess.GrammarAccessFragment {}
+
+ // 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
+ // "
+ }
+
+ // Serializer 2.0
+ fragment = serializer.SerializerFragment {
+ generateStub = false
+ }
+
+ // the serialization component (1.0)
+ // fragment = parseTreeConstructor.ParseTreeConstructorFragment {}
+
+ // a custom ResourceFactory for use with EMF
+ fragment = resourceFactory.ResourceFactoryFragment {
+ fileExtensions = file.extensions
+ }
+
+ // The antlr parser generator fragment.
+ fragment = parser.antlr.XtextAntlrGeneratorFragment {
+ // options = {
+ // backtrack = true
+ // }
+ }
+
+ // java-based API for validation
+ fragment = validation.JavaValidatorFragment {
+ // composedCheck = "org.eclipse.xtext.validation.ImportUriValidator"
+ // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
+ }
+
+ // scoping and exporting API
+ // fragment = scoping.ImportURIScopingFragment {}
+ // fragment = exporting.SimpleNamesFragment {}
+
+ // scoping and exporting API
+ fragment = scoping.ImportNamespacesScopingFragment {}
+ fragment = exporting.QualifiedNamesFragment {}
+ fragment = builder.BuilderIntegrationFragment {}
+
+ // generator API
+ fragment = generator.GeneratorFragment {
+ generateMwe = false
+ generateJavaMain = false
+ }
+
+ // formatter API
+ fragment = formatting.FormatterFragment {}
+
+ // labeling API
+ fragment = labeling.LabelProviderFragment {}
+
+ // outline API
+ fragment = outline.OutlineTreeProviderFragment {}
+ fragment = outline.QuickOutlineFragment {}
+
+ // quickfix API
+ fragment = quickfix.QuickfixProviderFragment {}
+
+ // content assist API
+ fragment = contentAssist.JavaBasedContentAssistFragment {}
+
+ // generates a more lightweight Antlr parser and lexer tailored for content assist
+ fragment = parser.antlr.XtextAntlrUiGeneratorFragment {}
+
+ // generates junit test support classes into Generator#pathTestProject
+ fragment = junit.Junit4Fragment {}
+
+ // project wizard (optional)
+ // fragment = projectWizard.SimpleProjectWizardFragment {
+ // generatorProjectName = "${projectName}"
+ // modelFileExtension = file.extensions
+ // }
+
+ // rename refactoring
+ fragment = refactoring.RefactorElementNameFragment {}
+
+ // provides the necessary bindings for java types integration
+ fragment = types.TypesGeneratorFragment {}
+
+ // generates the required bindings only if the grammar inherits from Xbase
+ fragment = xbase.XbaseGeneratorFragment {}
+
+ // provides a preference page for template proposals
+ fragment = templates.CodetemplatesGeneratorFragment {}
+
+ // provides a compare view
+ fragment = compare.CompareFragment {
+ fileExtensions = file.extensions
+ }
+
+ }
+ }
+}
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/converter/CSSTerminalConverter.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/converter/CSSTerminalConverter.java
new file mode 100644
index 00000000000..be726bb03cd
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/converter/CSSTerminalConverter.java
@@ -0,0 +1,64 @@
+package org.eclipse.papyrus.infra.gmfdiag.converter;
+
+import org.eclipse.xtext.common.services.DefaultTerminalConverters;
+import org.eclipse.xtext.conversion.IValueConverter;
+import org.eclipse.xtext.conversion.ValueConverter;
+import org.eclipse.xtext.conversion.ValueConverterException;
+import org.eclipse.xtext.conversion.impl.AbstractNullSafeConverter;
+import org.eclipse.xtext.nodemodel.INode;
+
+
+public class CSSTerminalConverter extends DefaultTerminalConverters {
+
+ @ValueConverter(rule = "HASH")
+ public IValueConverter<String> HASH() {
+ return new AbstractNullSafeConverter<String>() {
+
+ @Override
+ protected String internalToString(String value) {
+ return '#' + value;
+ }
+
+ @Override
+ protected String internalToValue(String string, INode node) throws ValueConverterException {
+ return string.substring(1);
+ }
+
+ };
+ }
+
+ @ValueConverter(rule = "T_CLASS")
+ public IValueConverter<String> T_CLASS() {
+ return new AbstractNullSafeConverter<String>() {
+
+ @Override
+ protected String internalToString(String value) {
+ return '.' + value;
+ }
+
+ @Override
+ protected String internalToValue(String string, INode node) throws ValueConverterException {
+ return string.substring(1);
+ }
+
+ };
+ }
+
+ @Override
+ @ValueConverter(rule = "ID")
+ public IValueConverter<String> ID() {
+ return new AbstractNullSafeConverter<String>() {
+
+ @Override
+ protected String internalToString(String value) {
+ return value;
+ }
+
+ @Override
+ protected String internalToValue(String string, INode node) throws ValueConverterException {
+ return string;
+ }
+
+ };
+ }
+}
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/formatting/CSSFormatter.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/formatting/CSSFormatter.java
new file mode 100644
index 00000000000..a89beda2851
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/formatting/CSSFormatter.java
@@ -0,0 +1,103 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.formatting;
+
+import org.eclipse.papyrus.infra.gmfdiag.services.CSSGrammarAccess;
+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());
+
+ //Semantic formatting (Prevent XText from adding invalid spaces)
+
+ // c.setWhitespaceRule(getGrammarAccess().getWSRule());
+ // c.setNoSpace().around(getGrammarAccess().getWSRule());
+ c.setNoSpace().around(getGrammarAccess().getANY_OTHERRule());
+
+ //Preserve the charset spaces
+ c.setNoSpace().after(getGrammarAccess().getStylesheetAccess().getCharsetKeyword_0_0());
+ c.setNoSpace().before(getGrammarAccess().getStylesheetAccess().getSemicolonKeyword_0_2());
+
+ //No spaces before units
+ c.setNoSpace().before(getGrammarAccess().getEM_UNITRule());
+ c.setNoSpace().before(getGrammarAccess().getFREQ_UNITRule());
+ c.setNoSpace().before(getGrammarAccess().getTIME_UNITRule());
+ c.setNoSpace().before(getGrammarAccess().getEX_UNITRule());
+ c.setNoSpace().before(getGrammarAccess().getPC_UNITRule());
+ c.setNoSpace().before(getGrammarAccess().getANGLE_UNITRule());
+ c.setNoSpace().before(getGrammarAccess().getLEN_UNITRule());
+
+ //No spaces between unary operator and number
+ c.setNoSpace().after(getGrammarAccess().getUnaryOperatorRule());
+ c.setNoSpace().before(getGrammarAccess().getNumberRule());
+
+ //No spaces before simpleSelector condition
+ c.setNoSpace().before(getGrammarAccess().getSelectorConditionRule());
+ c.setNoSpace().around(getGrammarAccess().getPseudoAccess().getColonKeyword_0());
+ c.setNoSpace().after(getGrammarAccess().getPseudoAccess().getPseudoAssignment_1_1_0());
+
+ //Pretty printing
+
+ //c.setWrappedLineIndentation(4);
+
+ //Charset
+ c.setLinewrap(2).after(getGrammarAccess().getStylesheetAccess().getSemicolonKeyword_0_2());
+
+
+ //Declarations
+ c.setNoSpace().after(getGrammarAccess().getDeclarationRule());
+ c.setNoSpace().before(getGrammarAccess().getDeclarationAccess().getColonKeyword_2());
+ c.setSpace(" ").after(getGrammarAccess().getDeclarationAccess().getColonKeyword_2());
+ // c.setNoSpace().around(getGrammarAccess().getTermRule());
+ c.setNoLinewrap().before(getGrammarAccess().getRulesetAccess().getSemicolonKeyword_5_0());
+ c.setNoSpace().before(getGrammarAccess().getRulesetAccess().getSemicolonKeyword_5_0());
+
+ c.setIndentationIncrement().after(getGrammarAccess().getRulesetAccess().getLeftCurlyBracketKeyword_2());
+ c.setLinewrap().after(getGrammarAccess().getRulesetAccess().getLeftCurlyBracketKeyword_2());
+
+
+ //Attribute
+ c.setNoSpace().after(getGrammarAccess().getAttributeAccess().getLeftSquareBracketKeyword_0());
+ c.setNoSpace().before(getGrammarAccess().getAttributeAccess().getRightSquareBracketKeyword_5());
+ c.setNoSpace().around(getGrammarAccess().getAttributeValueAccess().getOperatorAssignment_0());
+
+ //Ruleset
+ c.setIndentationDecrement().before(getGrammarAccess().getRulesetAccess().getRightCurlyBracketKeyword_6());
+ c.setLinewrap().before(getGrammarAccess().getRulesetAccess().getRightCurlyBracketKeyword_6());
+ //c.setLinewrap(2).after(getGrammarAccess().getContentRule());
+ c.setLinewrap(2).after(getGrammarAccess().getRulesetAccess().getRightCurlyBracketKeyword_6());
+
+ c.setLinewrap().after(getGrammarAccess().getRulesetAccess().getSemicolonKeyword_5_0());
+ }
+
+ @Override
+ public CSSGrammarAccess getGrammarAccess() {
+ return (CSSGrammarAccess)super.getGrammarAccess();
+ }
+}
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/generator/CSSGenerator.xtend b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/generator/CSSGenerator.xtend
new file mode 100644
index 00000000000..2c6d3225ca7
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/generator/CSSGenerator.xtend
@@ -0,0 +1,15 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.papyrus.infra.gmfdiag.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 implement me
+ }
+}
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/scoping/CSSScopeProvider.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/scoping/CSSScopeProvider.java
new file mode 100644
index 00000000000..1dea24fc58a
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/scoping/CSSScopeProvider.java
@@ -0,0 +1,17 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.papyrus.infra.gmfdiag.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/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/validation/CSSJavaValidator.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/validation/CSSJavaValidator.java
new file mode 100644
index 00000000000..e03031f3cea
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/validation/CSSJavaValidator.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.validation;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.Attribute;
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.HexColor;
+import org.eclipse.papyrus.infra.gmfdiag.css.SimpleSelector;
+import org.eclipse.xtext.validation.Check;
+
+
+public class CSSJavaValidator extends AbstractCSSJavaValidator {
+
+ public static final String INVALID_HEX_COLOR = "InvalidHexColor";
+
+ public static final String EMPTY_ELEMENT_NAME = "EmptyElementName";
+
+ //////////////////////////
+ // EMF + XText //
+ //////////////////////////
+ @Check
+ public void checkHexColor(HexColor color) {
+ if(!color.getValue().matches("[0-9A-Fa-f]{6}")) {
+ error("Invalid color. The color must be a 6-digit Hexadecimal number", CssPackage.Literals.HEX_COLOR__VALUE);
+ }
+ }
+
+ //////////////////////////
+ // EMF Only //
+ //////////////////////////
+ @Check
+ public void checkElementName(SimpleSelector selector) {
+ if("".equals(selector.getElementName())) {
+ error("The selector's name should either be null or non-empty", CssPackage.Literals.SIMPLE_SELECTOR__ELEMENT_NAME);
+ }
+ }
+
+ @Check
+ public void checkSimpleSelector(SimpleSelector selector) {
+ if(!selector.eIsSet(CssPackage.Literals.SIMPLE_SELECTOR__ELEMENT_NAME)) {
+ if(selector.getCondition().isEmpty()) {
+ error("The SimpleSelector should have either a non-empty name or at least one condition", CssPackage.Literals.SIMPLE_SELECTOR__ELEMENT_NAME);
+ }
+ }
+ }
+
+ @Check
+ public void checkAttribute(Attribute attribute) {
+ if("".equals(attribute.getName())) {
+ error("The attribute's name should not be empty", CssPackage.Literals.ATTRIBUTE__NAME);
+ }
+ }
+
+}
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/xtend-gen/org/eclipse/papyrus/infra/gmfdiag/generator/CSSGenerator.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/xtend-gen/org/eclipse/papyrus/infra/gmfdiag/generator/CSSGenerator.java
new file mode 100644
index 00000000000..ace7363ed5b
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/xtend-gen/org/eclipse/papyrus/infra/gmfdiag/generator/CSSGenerator.java
@@ -0,0 +1,11 @@
+package org.eclipse.papyrus.infra.gmfdiag.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) {
+ }
+}

Back to the top