Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css3.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css3/parser/antlr/internal/InternalCSS.g')
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css3.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css3/parser/antlr/internal/InternalCSS.g3624
1 files changed, 3624 insertions, 0 deletions
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css3.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css3/parser/antlr/internal/InternalCSS.g b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css3.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css3/parser/antlr/internal/InternalCSS.g
new file mode 100644
index 00000000000..f9a41c48c4b
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css3.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css3/parser/antlr/internal/InternalCSS.g
@@ -0,0 +1,3624 @@
+/*
+ * generated by Xtext
+ */
+grammar InternalCSS;
+
+options {
+ superClass=AbstractInternalAntlrParser;
+
+}
+
+@lexer::header {
+package org.eclipse.papyrus.infra.gmfdiag.css3.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.css3.parser.antlr.internal;
+
+import org.eclipse.xtext.*;
+import org.eclipse.xtext.parser.*;
+import org.eclipse.xtext.parser.impl.*;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream;
+import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
+import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
+import org.eclipse.papyrus.infra.gmfdiag.css3.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(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getStylesheetAccess().getCharsetCharsetParserRuleCall_0_0());
+ }
+ lv_charset_0_0=rulecharset {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getStylesheetRule());
+ }
+ set(
+ $current,
+ "charset",
+ lv_charset_0_0,
+ "charset");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?(
+(
+ {
+ newCompositeNode(grammarAccess.getStylesheetAccess().getImportsImportExpressionParserRuleCall_1_0());
+ }
+ lv_imports_1_0=ruleimportExpression {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getStylesheetRule());
+ }
+ add(
+ $current,
+ "imports",
+ lv_imports_1_0,
+ "importExpression");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)*((
+(
+ {
+ newCompositeNode(grammarAccess.getStylesheetAccess().getRulesetRulesetParserRuleCall_2_0_0());
+ }
+ lv_ruleset_2_0=ruleruleset {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getStylesheetRule());
+ }
+ add(
+ $current,
+ "ruleset",
+ lv_ruleset_2_0,
+ "ruleset");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ |(
+(
+ {
+ newCompositeNode(grammarAccess.getStylesheetAccess().getMediaMediaParserRuleCall_2_1_0());
+ }
+ lv_media_3_0=rulemedia {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getStylesheetRule());
+ }
+ add(
+ $current,
+ "media",
+ lv_media_3_0,
+ "media");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ |(
+(
+ {
+ newCompositeNode(grammarAccess.getStylesheetAccess().getPagePageParserRuleCall_2_2_0());
+ }
+ lv_page_4_0=rulepage {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getStylesheetRule());
+ }
+ add(
+ $current,
+ "page",
+ lv_page_4_0,
+ "page");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ |(
+(
+ {
+ newCompositeNode(grammarAccess.getStylesheetAccess().getFont_faceFont_faceParserRuleCall_2_3_0());
+ }
+ lv_font_face_5_0=rulefont_face {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getStylesheetRule());
+ }
+ add(
+ $current,
+ "font_face",
+ lv_font_face_5_0,
+ "font_face");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ |(
+(
+ {
+ newCompositeNode(grammarAccess.getStylesheetAccess().getKeyframesKeyframesParserRuleCall_2_4_0());
+ }
+ lv_keyframes_6_0=rulekeyframes {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getStylesheetRule());
+ }
+ add(
+ $current,
+ "keyframes",
+ lv_keyframes_6_0,
+ "keyframes");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*)
+;
+
+
+
+
+
+// Entry rule entryRulecharset
+entryRulecharset returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getCharsetRule()); }
+ iv_rulecharset=rulecharset
+ { $current=$iv_rulecharset.current; }
+ EOF
+;
+
+// Rule charset
+rulecharset returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(( otherlv_0='@charset'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getCharsetAccess().getCharsetKeyword_0_0());
+ }
+
+ | otherlv_1='@CHARSET'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getCharsetAccess().getCHARSETKeyword_0_1());
+ }
+)(
+(
+ lv_charset_2_0=RULE_CSSSTRING
+ {
+ newLeafNode(lv_charset_2_0, grammarAccess.getCharsetAccess().getCharsetCSSSTRINGTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getCharsetRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "charset",
+ lv_charset_2_0,
+ "CSSSTRING");
+ }
+
+)
+) otherlv_3=';'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getCharsetAccess().getSemicolonKeyword_2());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleimportExpression
+entryRuleimportExpression returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getImportExpressionRule()); }
+ iv_ruleimportExpression=ruleimportExpression
+ { $current=$iv_ruleimportExpression.current; }
+ EOF
+;
+
+// Rule importExpression
+ruleimportExpression returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(( otherlv_0='@import'
+ {
+ newLeafNode(otherlv_0, grammarAccess.getImportExpressionAccess().getImportKeyword_0_0());
+ }
+
+ | otherlv_1='@IMPORT'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getImportExpressionAccess().getIMPORTKeyword_0_1());
+ }
+)((
+(
+ lv_value_2_0=RULE_CSSSTRING
+ {
+ newLeafNode(lv_value_2_0, grammarAccess.getImportExpressionAccess().getValueCSSSTRINGTerminalRuleCall_1_0_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getImportExpressionRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "value",
+ lv_value_2_0,
+ "CSSSTRING");
+ }
+
+)
+)
+ |(
+ {
+ newCompositeNode(grammarAccess.getImportExpressionAccess().getURLTypeParserRuleCall_1_1_0());
+ }
+ this_URLType_3=ruleURLType
+ {
+ $current = $this_URLType_3.current;
+ afterParserOrEnumRuleCall();
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getImportExpressionAccess().getMediaListMedia_listParserRuleCall_1_1_1_0());
+ }
+ lv_mediaList_4_0=rulemedia_list {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getImportExpressionRule());
+ }
+ set(
+ $current,
+ "mediaList",
+ lv_mediaList_4_0,
+ "media_list");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?)) otherlv_5=';'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getImportExpressionAccess().getSemicolonKeyword_2());
+ }
+)
+;
+
+
+
+
+
+// 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_0());
+ }
+
+ | otherlv_2='@PAGE'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getPageAccess().getPAGEKeyword_1_1());
+ }
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getPageAccess().getPseudoPagePseudo_pageParserRuleCall_2_0());
+ }
+ lv_pseudoPage_3_0=rulepseudo_page {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPageRule());
+ }
+ set(
+ $current,
+ "pseudoPage",
+ lv_pseudoPage_3_0,
+ "pseudo_page");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)? otherlv_4='{'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getPageAccess().getLeftCurlyBracketKeyword_3());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getPageAccess().getDeclarationsCss_declarationParserRuleCall_4_0());
+ }
+ lv_declarations_5_0=rulecss_declaration {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPageRule());
+ }
+ add(
+ $current,
+ "declarations",
+ lv_declarations_5_0,
+ "css_declaration");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?( otherlv_6=';'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getPageAccess().getSemicolonKeyword_5_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getPageAccess().getDeclarationsCss_declarationParserRuleCall_5_1_0());
+ }
+ lv_declarations_7_0=rulecss_declaration {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPageRule());
+ }
+ add(
+ $current,
+ "declarations",
+ lv_declarations_7_0,
+ "css_declaration");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?)* otherlv_8='}'
+ {
+ newLeafNode(otherlv_8, grammarAccess.getPageAccess().getRightCurlyBracketKeyword_6());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRulepseudo_page
+entryRulepseudo_page returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getPseudo_pageRule()); }
+ iv_rulepseudo_page=rulepseudo_page
+ { $current=$iv_rulepseudo_page.current.getText(); }
+ EOF
+;
+
+// Rule pseudo_page
+rulepseudo_page returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( this_COLON_0=RULE_COLON {
+ $current.merge(this_COLON_0);
+ }
+
+ {
+ newLeafNode(this_COLON_0, grammarAccess.getPseudo_pageAccess().getCOLONTerminalRuleCall_0());
+ }
+
+ {
+ newCompositeNode(grammarAccess.getPseudo_pageAccess().getIdentifierParserRuleCall_1());
+ }
+ this_Identifier_1=ruleIdentifier {
+ $current.merge(this_Identifier_1);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+)
+ ;
+
+
+
+
+
+// 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_0());
+ }
+
+ | otherlv_1='@MEDIA'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getMediaAccess().getMEDIAKeyword_0_1());
+ }
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getMediaAccess().getMedialistMedia_listParserRuleCall_1_0());
+ }
+ lv_medialist_2_0=rulemedia_list {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getMediaRule());
+ }
+ set(
+ $current,
+ "medialist",
+ lv_medialist_2_0,
+ "media_list");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_3='{'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getMediaAccess().getLeftCurlyBracketKeyword_2());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getMediaAccess().getRulesetsRulesetParserRuleCall_3_0());
+ }
+ lv_rulesets_4_0=ruleruleset {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getMediaRule());
+ }
+ add(
+ $current,
+ "rulesets",
+ lv_rulesets_4_0,
+ "ruleset");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)* otherlv_5='}'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getMediaAccess().getRightCurlyBracketKeyword_4());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRulemedia_list
+entryRulemedia_list returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getMedia_listRule()); }
+ iv_rulemedia_list=rulemedia_list
+ { $current=$iv_rulemedia_list.current.getText(); }
+ EOF
+;
+
+// Rule media_list
+rulemedia_list returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getMedia_listAccess().getMediumParserRuleCall_0());
+ }
+ this_medium_0=rulemedium {
+ $current.merge(this_medium_0);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+( this_COMMA_1=RULE_COMMA {
+ $current.merge(this_COMMA_1);
+ }
+
+ {
+ newLeafNode(this_COMMA_1, grammarAccess.getMedia_listAccess().getCOMMATerminalRuleCall_1_0());
+ }
+
+ {
+ newCompositeNode(grammarAccess.getMedia_listAccess().getMediumParserRuleCall_1_1());
+ }
+ this_medium_2=rulemedium {
+ $current.merge(this_medium_2);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+)*)
+ ;
+
+
+
+
+
+// Entry rule entryRulemedium
+entryRulemedium returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getMediumRule()); }
+ iv_rulemedium=rulemedium
+ { $current=$iv_rulemedium.current.getText(); }
+ EOF
+;
+
+// Rule medium
+rulemedium returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+
+ {
+ newCompositeNode(grammarAccess.getMediumAccess().getIdentifierParserRuleCall());
+ }
+ this_Identifier_0=ruleIdentifier {
+ $current.merge(this_Identifier_0);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+
+ ;
+
+
+
+
+
+// Entry rule entryRulefont_face
+entryRulefont_face returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getFont_faceRule()); }
+ iv_rulefont_face=rulefont_face
+ { $current=$iv_rulefont_face.current; }
+ EOF
+;
+
+// Rule font_face
+rulefont_face returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getFont_faceAccess().getFont_faceAction_0(),
+ $current);
+ }
+)( otherlv_1='@font-face'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getFont_faceAccess().getFontFaceKeyword_1_0());
+ }
+
+ | otherlv_2='@FONT-FACE'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getFont_faceAccess().getFONTFACEKeyword_1_1());
+ }
+) otherlv_3='{'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getFont_faceAccess().getLeftCurlyBracketKeyword_2());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getFont_faceAccess().getDeclarationsCss_declarationParserRuleCall_3_0());
+ }
+ lv_declarations_4_0=rulecss_declaration {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getFont_faceRule());
+ }
+ add(
+ $current,
+ "declarations",
+ lv_declarations_4_0,
+ "css_declaration");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?( otherlv_5=';'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getFont_faceAccess().getSemicolonKeyword_4_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getFont_faceAccess().getDeclarationsCss_declarationParserRuleCall_4_1_0());
+ }
+ lv_declarations_6_0=rulecss_declaration {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getFont_faceRule());
+ }
+ add(
+ $current,
+ "declarations",
+ lv_declarations_6_0,
+ "css_declaration");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?)* otherlv_7='}'
+ {
+ newLeafNode(otherlv_7, grammarAccess.getFont_faceAccess().getRightCurlyBracketKeyword_5());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRulekeyframes
+entryRulekeyframes returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getKeyframesRule()); }
+ iv_rulekeyframes=rulekeyframes
+ { $current=$iv_rulekeyframes.current; }
+ EOF
+;
+
+// Rule keyframes
+rulekeyframes returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getKeyframesAccess().getFont_faceAction_0(),
+ $current);
+ }
+)( otherlv_1='@keyframes'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getKeyframesAccess().getKeyframesKeyword_1_0());
+ }
+
+ | otherlv_2='@KEYFRAMES'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getKeyframesAccess().getKEYFRAMESKeyword_1_1());
+ }
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getKeyframesAccess().getNameIdentifierParserRuleCall_2_0());
+ }
+ lv_name_3_0=ruleIdentifier {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getKeyframesRule());
+ }
+ set(
+ $current,
+ "name",
+ lv_name_3_0,
+ "Identifier");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_4='{'
+ {
+ newLeafNode(otherlv_4, grammarAccess.getKeyframesAccess().getLeftCurlyBracketKeyword_3());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getKeyframesAccess().getKeyframeselectorsKeyframe_selectorParserRuleCall_4_0());
+ }
+ lv_keyframeselectors_5_0=rulekeyframe_selector {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getKeyframesRule());
+ }
+ add(
+ $current,
+ "keyframeselectors",
+ lv_keyframeselectors_5_0,
+ "keyframe_selector");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?( otherlv_6=';'
+ {
+ newLeafNode(otherlv_6, grammarAccess.getKeyframesAccess().getSemicolonKeyword_5_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getKeyframesAccess().getKeyframeselectorsKeyframe_selectorParserRuleCall_5_1_0());
+ }
+ lv_keyframeselectors_7_0=rulekeyframe_selector {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getKeyframesRule());
+ }
+ add(
+ $current,
+ "keyframeselectors",
+ lv_keyframeselectors_7_0,
+ "keyframe_selector");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?)* otherlv_8='}'
+ {
+ newLeafNode(otherlv_8, grammarAccess.getKeyframesAccess().getRightCurlyBracketKeyword_6());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRulekeyframe_selector
+entryRulekeyframe_selector returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getKeyframe_selectorRule()); }
+ iv_rulekeyframe_selector=rulekeyframe_selector
+ { $current=$iv_rulekeyframe_selector.current; }
+ EOF
+;
+
+// Rule keyframe_selector
+rulekeyframe_selector returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(((
+(
+ {
+ newCompositeNode(grammarAccess.getKeyframe_selectorAccess().getTypeIdentifierParserRuleCall_0_0_0());
+ }
+ lv_type_0_0=ruleIdentifier {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getKeyframe_selectorRule());
+ }
+ set(
+ $current,
+ "type",
+ lv_type_0_0,
+ "Identifier");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ |((
+(
+ {
+ newCompositeNode(grammarAccess.getKeyframe_selectorAccess().getPercentageNumParserRuleCall_0_1_0_0());
+ }
+ lv_percentage_1_0=ruleNum {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getKeyframe_selectorRule());
+ }
+ set(
+ $current,
+ "percentage",
+ lv_percentage_1_0,
+ "Num");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)this_PERCENT_2=RULE_PERCENT
+ {
+ newLeafNode(this_PERCENT_2, grammarAccess.getKeyframe_selectorAccess().getPERCENTTerminalRuleCall_0_1_1());
+ }
+)) otherlv_3='{'
+ {
+ newLeafNode(otherlv_3, grammarAccess.getKeyframe_selectorAccess().getLeftCurlyBracketKeyword_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getKeyframe_selectorAccess().getDeclarationsCss_declarationParserRuleCall_2_0());
+ }
+ lv_declarations_4_0=rulecss_declaration {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getKeyframe_selectorRule());
+ }
+ add(
+ $current,
+ "declarations",
+ lv_declarations_4_0,
+ "css_declaration");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?( otherlv_5=';'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getKeyframe_selectorAccess().getSemicolonKeyword_3_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getKeyframe_selectorAccess().getDeclarationsCss_declarationParserRuleCall_3_1_0());
+ }
+ lv_declarations_6_0=rulecss_declaration {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getKeyframe_selectorRule());
+ }
+ add(
+ $current,
+ "declarations",
+ lv_declarations_6_0,
+ "css_declaration");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)?)* otherlv_7='}'
+ {
+ newLeafNode(otherlv_7, grammarAccess.getKeyframe_selectorAccess().getRightCurlyBracketKeyword_4());
+ }
+)
+;
+
+
+
+
+
+// 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();
+ }
+
+)
+)((this_WS_1=RULE_WS
+ {
+ newLeafNode(this_WS_1, grammarAccess.getRulesetAccess().getWSTerminalRuleCall_1_0());
+ }
+)*this_COMMA_2=RULE_COMMA
+ {
+ newLeafNode(this_COMMA_2, grammarAccess.getRulesetAccess().getCOMMATerminalRuleCall_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();
+ }
+
+)
+))*(this_WS_4=RULE_WS
+ {
+ newLeafNode(this_WS_4, grammarAccess.getRulesetAccess().getWSTerminalRuleCall_2());
+ }
+)* otherlv_5='{'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getRulesetAccess().getLeftCurlyBracketKeyword_3());
+ }
+((
+(
+ {
+ newCompositeNode(grammarAccess.getRulesetAccess().getDeclarationsCss_declarationParserRuleCall_4_0_0());
+ }
+ lv_declarations_6_0=rulecss_declaration {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getRulesetRule());
+ }
+ add(
+ $current,
+ "declarations",
+ lv_declarations_6_0,
+ "css_declaration");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)( otherlv_7=';'
+ {
+ newLeafNode(otherlv_7, grammarAccess.getRulesetAccess().getSemicolonKeyword_4_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getRulesetAccess().getDeclarationsCss_declarationParserRuleCall_4_1_1_0());
+ }
+ lv_declarations_8_0=rulecss_declaration {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getRulesetRule());
+ }
+ add(
+ $current,
+ "declarations",
+ lv_declarations_8_0,
+ "css_declaration");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))*( otherlv_9=';'
+ {
+ newLeafNode(otherlv_9, grammarAccess.getRulesetAccess().getSemicolonKeyword_4_2());
+ }
+)?)? otherlv_10='}'
+ {
+ newLeafNode(otherlv_10, grammarAccess.getRulesetAccess().getRightCurlyBracketKeyword_5());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleselector
+entryRuleselector returns [EObject current=null]
+ @init {
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens("RULE_ML_COMMENT");
+ }
+ :
+ { newCompositeNode(grammarAccess.getSelectorRule()); }
+ iv_ruleselector=ruleselector
+ { $current=$iv_ruleselector.current; }
+ EOF
+;
+finally {
+ myHiddenTokenState.restore();
+}
+
+// Rule selector
+ruleselector returns [EObject current=null]
+ @init { enterRule();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens("RULE_ML_COMMENT");
+ }
+ @after { leaveRule(); }:
+((
+(
+ {
+ newCompositeNode(grammarAccess.getSelectorAccess().getSimpleselectorsSimple_selectorParserRuleCall_0_0());
+ }
+ lv_simpleselectors_0_0=rulesimple_selector {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSelectorRule());
+ }
+ add(
+ $current,
+ "simpleselectors",
+ lv_simpleselectors_0_0,
+ "simple_selector");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(((
+(
+ {
+ newCompositeNode(grammarAccess.getSelectorAccess().getCombinatorCombinatorParserRuleCall_1_0_0_0());
+ }
+ lv_combinator_1_0=rulecombinator {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSelectorRule());
+ }
+ set(
+ $current,
+ "combinator",
+ lv_combinator_1_0,
+ "combinator");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(this_WS_2=RULE_WS
+ {
+ newLeafNode(this_WS_2, grammarAccess.getSelectorAccess().getWSTerminalRuleCall_1_0_1());
+ }
+)*(
+(
+ {
+ newCompositeNode(grammarAccess.getSelectorAccess().getSelectorSelectorParserRuleCall_1_0_2_0());
+ }
+ lv_selector_3_0=ruleselector {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSelectorRule());
+ }
+ set(
+ $current,
+ "selector",
+ lv_selector_3_0,
+ "selector");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+ |((this_WS_4=RULE_WS
+ {
+ newLeafNode(this_WS_4, grammarAccess.getSelectorAccess().getWSTerminalRuleCall_1_1_0());
+ }
+)+((
+(
+ {
+ newCompositeNode(grammarAccess.getSelectorAccess().getCombinatorCombinatorParserRuleCall_1_1_1_0_0());
+ }
+ lv_combinator_5_0=rulecombinator {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSelectorRule());
+ }
+ set(
+ $current,
+ "combinator",
+ lv_combinator_5_0,
+ "combinator");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(this_WS_6=RULE_WS
+ {
+ newLeafNode(this_WS_6, grammarAccess.getSelectorAccess().getWSTerminalRuleCall_1_1_1_1());
+ }
+)*)?(
+(
+ {
+ newCompositeNode(grammarAccess.getSelectorAccess().getSelectorSelectorParserRuleCall_1_1_2_0());
+ }
+ lv_selector_7_0=ruleselector {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSelectorRule());
+ }
+ set(
+ $current,
+ "selector",
+ lv_selector_7_0,
+ "selector");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)))?)
+;
+finally {
+ myHiddenTokenState.restore();
+}
+
+
+
+
+
+// Entry rule entryRuleSimpleSelectorForNegation
+entryRuleSimpleSelectorForNegation returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getSimpleSelectorForNegationRule()); }
+ iv_ruleSimpleSelectorForNegation=ruleSimpleSelectorForNegation
+ { $current=$iv_ruleSimpleSelectorForNegation.current; }
+ EOF
+;
+
+// Rule SimpleSelectorForNegation
+ruleSimpleSelectorForNegation returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((((
+(
+ {
+ newCompositeNode(grammarAccess.getSimpleSelectorForNegationAccess().getElementElementSelectorParserRuleCall_0_0_0_0());
+ }
+ lv_element_0_0=ruleElementSelector {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSimpleSelectorForNegationRule());
+ }
+ set(
+ $current,
+ "element",
+ lv_element_0_0,
+ "ElementSelector");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ |(
+(
+ {
+ newCompositeNode(grammarAccess.getSimpleSelectorForNegationAccess().getUniversalUniversalSelectorParserRuleCall_0_0_1_0());
+ }
+ lv_universal_1_0=ruleUniversalSelector {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSimpleSelectorForNegationRule());
+ }
+ set(
+ $current,
+ "universal",
+ lv_universal_1_0,
+ "UniversalSelector");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))(
+(
+ {
+ newCompositeNode(grammarAccess.getSimpleSelectorForNegationAccess().getSubSelectorsSubSelectorForNegationParserRuleCall_0_1_0());
+ }
+ lv_subSelectors_2_0=ruleSubSelectorForNegation {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSimpleSelectorForNegationRule());
+ }
+ add(
+ $current,
+ "subSelectors",
+ lv_subSelectors_2_0,
+ "SubSelectorForNegation");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)*)
+ |((
+(
+ruleSubSelectorForNegation
+)
+)=>
+(
+ {
+ newCompositeNode(grammarAccess.getSimpleSelectorForNegationAccess().getSubSelectorsSubSelectorForNegationParserRuleCall_1_0());
+ }
+ lv_subSelectors_3_0=ruleSubSelectorForNegation {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSimpleSelectorForNegationRule());
+ }
+ add(
+ $current,
+ "subSelectors",
+ lv_subSelectors_3_0,
+ "SubSelectorForNegation");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)+)
+;
+
+
+
+
+
+// Entry rule entryRuleSubSelectorForNegation
+entryRuleSubSelectorForNegation returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getSubSelectorForNegationRule()); }
+ iv_ruleSubSelectorForNegation=ruleSubSelectorForNegation
+ { $current=$iv_ruleSubSelectorForNegation.current; }
+ EOF
+;
+
+// Rule SubSelectorForNegation
+ruleSubSelectorForNegation returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getSubSelectorForNegationAccess().getIdSelectorParserRuleCall_0());
+ }
+ this_IdSelector_0=ruleIdSelector
+ {
+ $current = $this_IdSelector_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getSubSelectorForNegationAccess().getClassSelectorParserRuleCall_1());
+ }
+ this_ClassSelector_1=ruleClassSelector
+ {
+ $current = $this_ClassSelector_1.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getSubSelectorForNegationAccess().getAttributeSelectorParserRuleCall_2());
+ }
+ this_AttributeSelector_2=ruleAttributeSelector
+ {
+ $current = $this_AttributeSelector_2.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getSubSelectorForNegationAccess().getPseudoClassParserRuleCall_3());
+ }
+ this_PseudoClass_3=rulePseudoClass
+ {
+ $current = $this_PseudoClass_3.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRulesimple_selector
+entryRulesimple_selector returns [EObject current=null]
+ @init {
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens("RULE_ML_COMMENT");
+ }
+ :
+ { newCompositeNode(grammarAccess.getSimple_selectorRule()); }
+ iv_rulesimple_selector=rulesimple_selector
+ { $current=$iv_rulesimple_selector.current; }
+ EOF
+;
+finally {
+ myHiddenTokenState.restore();
+}
+
+// Rule simple_selector
+rulesimple_selector returns [EObject current=null]
+ @init { enterRule();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens("RULE_ML_COMMENT");
+ }
+ @after { leaveRule(); }:
+((((
+(
+ {
+ newCompositeNode(grammarAccess.getSimple_selectorAccess().getElementElementSelectorParserRuleCall_0_0_0_0());
+ }
+ lv_element_0_0=ruleElementSelector {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSimple_selectorRule());
+ }
+ set(
+ $current,
+ "element",
+ lv_element_0_0,
+ "ElementSelector");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+ |(
+(
+ {
+ newCompositeNode(grammarAccess.getSimple_selectorAccess().getUniversalUniversalSelectorParserRuleCall_0_0_1_0());
+ }
+ lv_universal_1_0=ruleUniversalSelector {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSimple_selectorRule());
+ }
+ set(
+ $current,
+ "universal",
+ lv_universal_1_0,
+ "UniversalSelector");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))(
+(
+ {
+ newCompositeNode(grammarAccess.getSimple_selectorAccess().getSubSelectorsSubSelectorParserRuleCall_0_1_0());
+ }
+ lv_subSelectors_2_0=ruleSubSelector {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSimple_selectorRule());
+ }
+ add(
+ $current,
+ "subSelectors",
+ lv_subSelectors_2_0,
+ "SubSelector");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)*)
+ |(
+(
+ {
+ newCompositeNode(grammarAccess.getSimple_selectorAccess().getSubSelectorsSubSelectorParserRuleCall_1_0());
+ }
+ lv_subSelectors_3_0=ruleSubSelector {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getSimple_selectorRule());
+ }
+ add(
+ $current,
+ "subSelectors",
+ lv_subSelectors_3_0,
+ "SubSelector");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)+)
+;
+finally {
+ myHiddenTokenState.restore();
+}
+
+
+
+
+
+// Entry rule entryRuleSubSelector
+entryRuleSubSelector returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getSubSelectorRule()); }
+ iv_ruleSubSelector=ruleSubSelector
+ { $current=$iv_ruleSubSelector.current; }
+ EOF
+;
+
+// Rule SubSelector
+ruleSubSelector returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getSubSelectorAccess().getIdSelectorParserRuleCall_0());
+ }
+ this_IdSelector_0=ruleIdSelector
+ {
+ $current = $this_IdSelector_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getSubSelectorAccess().getClassSelectorParserRuleCall_1());
+ }
+ this_ClassSelector_1=ruleClassSelector
+ {
+ $current = $this_ClassSelector_1.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getSubSelectorAccess().getAttributeSelectorParserRuleCall_2());
+ }
+ this_AttributeSelector_2=ruleAttributeSelector
+ {
+ $current = $this_AttributeSelector_2.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getSubSelectorAccess().getPseudoClassOrFuncParserRuleCall_3());
+ }
+ this_PseudoClassOrFunc_3=rulePseudoClassOrFunc
+ {
+ $current = $this_PseudoClassOrFunc_3.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleAttributeSelector
+entryRuleAttributeSelector returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getAttributeSelectorRule()); }
+ iv_ruleAttributeSelector=ruleAttributeSelector
+ { $current=$iv_ruleAttributeSelector.current; }
+ EOF
+;
+
+// Rule AttributeSelector
+ruleAttributeSelector returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getAttributeSelectorAccess().getAttributeSelectorAction_0(),
+ $current);
+ }
+) otherlv_1='['
+ {
+ newLeafNode(otherlv_1, grammarAccess.getAttributeSelectorAccess().getLeftSquareBracketKeyword_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getAttributeSelectorAccess().getNameIdentifierParserRuleCall_2_0());
+ }
+ lv_name_2_0=ruleIdentifier {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getAttributeSelectorRule());
+ }
+ set(
+ $current,
+ "name",
+ lv_name_2_0,
+ "Identifier");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)((
+(
+(
+ lv_op_3_1= '^='
+ {
+ newLeafNode(lv_op_3_1, grammarAccess.getAttributeSelectorAccess().getOpCircumflexAccentEqualsSignKeyword_3_0_0_0());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getAttributeSelectorRule());
+ }
+ setWithLastConsumed($current, "op", lv_op_3_1, null);
+ }
+
+ | lv_op_3_2= '$='
+ {
+ newLeafNode(lv_op_3_2, grammarAccess.getAttributeSelectorAccess().getOpDollarSignEqualsSignKeyword_3_0_0_1());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getAttributeSelectorRule());
+ }
+ setWithLastConsumed($current, "op", lv_op_3_2, null);
+ }
+
+ | lv_op_3_3= '*='
+ {
+ newLeafNode(lv_op_3_3, grammarAccess.getAttributeSelectorAccess().getOpAsteriskEqualsSignKeyword_3_0_0_2());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getAttributeSelectorRule());
+ }
+ setWithLastConsumed($current, "op", lv_op_3_3, null);
+ }
+
+ | lv_op_3_4= '='
+ {
+ newLeafNode(lv_op_3_4, grammarAccess.getAttributeSelectorAccess().getOpEqualsSignKeyword_3_0_0_3());
+ }
+
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getAttributeSelectorRule());
+ }
+ setWithLastConsumed($current, "op", lv_op_3_4, null);
+ }
+
+ | lv_op_3_5=RULE_INCLUDES
+ {
+ newLeafNode(lv_op_3_5, grammarAccess.getAttributeSelectorAccess().getOpINCLUDESTerminalRuleCall_3_0_0_4());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getAttributeSelectorRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "op",
+ lv_op_3_5,
+ "INCLUDES");
+ }
+
+ | lv_op_3_6=RULE_DASHMATCH
+ {
+ newLeafNode(lv_op_3_6, grammarAccess.getAttributeSelectorAccess().getOpDASHMATCHTerminalRuleCall_3_0_0_5());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getAttributeSelectorRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "op",
+ lv_op_3_6,
+ "DASHMATCH");
+ }
+
+)
+
+)
+)(
+(
+(
+ {
+ newCompositeNode(grammarAccess.getAttributeSelectorAccess().getValueIdentifierParserRuleCall_3_1_0_0());
+ }
+ lv_value_4_1=ruleIdentifier {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getAttributeSelectorRule());
+ }
+ set(
+ $current,
+ "value",
+ lv_value_4_1,
+ "Identifier");
+ afterParserOrEnumRuleCall();
+ }
+
+ | lv_value_4_2=RULE_CSSSTRING
+ {
+ newLeafNode(lv_value_4_2, grammarAccess.getAttributeSelectorAccess().getValueCSSSTRINGTerminalRuleCall_3_1_0_1());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getAttributeSelectorRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "value",
+ lv_value_4_2,
+ "CSSSTRING");
+ }
+
+)
+
+)
+))? otherlv_5=']'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getAttributeSelectorAccess().getRightSquareBracketKeyword_4());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleClassSelector
+entryRuleClassSelector returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getClassSelectorRule()); }
+ iv_ruleClassSelector=ruleClassSelector
+ { $current=$iv_ruleClassSelector.current; }
+ EOF
+;
+
+// Rule ClassSelector
+ruleClassSelector returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getClassSelectorAccess().getClassSelectorAction_0(),
+ $current);
+ }
+) otherlv_1='.'
+ {
+ newLeafNode(otherlv_1, grammarAccess.getClassSelectorAccess().getFullStopKeyword_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getClassSelectorAccess().getNameIdentifierParserRuleCall_2_0());
+ }
+ lv_name_2_0=ruleIdentifier {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getClassSelectorRule());
+ }
+ set(
+ $current,
+ "name",
+ lv_name_2_0,
+ "Identifier");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleElementSelector
+entryRuleElementSelector returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getElementSelectorRule()); }
+ iv_ruleElementSelector=ruleElementSelector
+ { $current=$iv_ruleElementSelector.current; }
+ EOF
+;
+
+// Rule ElementSelector
+ruleElementSelector returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getElementSelectorAccess().getElementSelectorAction_0(),
+ $current);
+ }
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getElementSelectorAccess().getNameIdentifierParserRuleCall_1_0());
+ }
+ lv_name_1_0=ruleIdentifier {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getElementSelectorRule());
+ }
+ set(
+ $current,
+ "name",
+ lv_name_1_0,
+ "Identifier");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleUniversalSelector
+entryRuleUniversalSelector returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getUniversalSelectorRule()); }
+ iv_ruleUniversalSelector=ruleUniversalSelector
+ { $current=$iv_ruleUniversalSelector.current; }
+ EOF
+;
+
+// Rule UniversalSelector
+ruleUniversalSelector returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getUniversalSelectorAccess().getUniversalSelectorAction_0(),
+ $current);
+ }
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getUniversalSelectorAccess().getNamespaceCss_namespace_prefixParserRuleCall_1_0());
+ }
+ lv_namespace_1_0=rulecss_namespace_prefix {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getUniversalSelectorRule());
+ }
+ set(
+ $current,
+ "namespace",
+ lv_namespace_1_0,
+ "css_namespace_prefix");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)? otherlv_2='*'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getUniversalSelectorAccess().getAsteriskKeyword_2());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleIdSelector
+entryRuleIdSelector returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getIdSelectorRule()); }
+ iv_ruleIdSelector=ruleIdSelector
+ { $current=$iv_ruleIdSelector.current; }
+ EOF
+;
+
+// Rule IdSelector
+ruleIdSelector returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getIdSelectorAccess().getIdSelectorAction_0(),
+ $current);
+ }
+)this_HASHMARK_1=RULE_HASHMARK
+ {
+ newLeafNode(this_HASHMARK_1, grammarAccess.getIdSelectorAccess().getHASHMARKTerminalRuleCall_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getIdSelectorAccess().getNameIdentifierParserRuleCall_2_0());
+ }
+ lv_name_2_0=ruleIdentifier {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getIdSelectorRule());
+ }
+ set(
+ $current,
+ "name",
+ lv_name_2_0,
+ "Identifier");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRulecss_namespace_prefix
+entryRulecss_namespace_prefix returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getCss_namespace_prefixRule()); }
+ iv_rulecss_namespace_prefix=rulecss_namespace_prefix
+ { $current=$iv_rulecss_namespace_prefix.current.getText(); }
+ EOF
+;
+
+// Rule css_namespace_prefix
+rulecss_namespace_prefix returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ newCompositeNode(grammarAccess.getCss_namespace_prefixAccess().getIdentifierParserRuleCall_0_0());
+ }
+ this_Identifier_0=ruleIdentifier {
+ $current.merge(this_Identifier_0);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ kw='*'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getCss_namespace_prefixAccess().getAsteriskKeyword_0_1());
+ }
+)?
+ kw='|'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getCss_namespace_prefixAccess().getVerticalLineKeyword_1());
+ }
+)
+ ;
+
+
+
+
+
+// Entry rule entryRulecss_declaration
+entryRulecss_declaration returns [EObject current=null]
+ @init {
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens("RULE_ML_COMMENT");
+ }
+ :
+ { newCompositeNode(grammarAccess.getCss_declarationRule()); }
+ iv_rulecss_declaration=rulecss_declaration
+ { $current=$iv_rulecss_declaration.current; }
+ EOF
+;
+finally {
+ myHiddenTokenState.restore();
+}
+
+// Rule css_declaration
+rulecss_declaration returns [EObject current=null]
+ @init { enterRule();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens("RULE_ML_COMMENT");
+ }
+ @after { leaveRule(); }:
+((this_WS_0=RULE_WS
+ {
+ newLeafNode(this_WS_0, grammarAccess.getCss_declarationAccess().getWSTerminalRuleCall_0());
+ }
+)*(
+(
+ {
+ newCompositeNode(grammarAccess.getCss_declarationAccess().getPropertyCss_propertyParserRuleCall_1_0());
+ }
+ lv_property_1_0=rulecss_property {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getCss_declarationRule());
+ }
+ set(
+ $current,
+ "property",
+ lv_property_1_0,
+ "css_property");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(this_WS_2=RULE_WS
+ {
+ newLeafNode(this_WS_2, grammarAccess.getCss_declarationAccess().getWSTerminalRuleCall_2());
+ }
+)*this_COLON_3=RULE_COLON
+ {
+ newLeafNode(this_COLON_3, grammarAccess.getCss_declarationAccess().getCOLONTerminalRuleCall_3());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getCss_declarationAccess().getValueTokensCssTokParserRuleCall_4_0());
+ }
+ lv_valueTokens_4_0=ruleCssTok {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getCss_declarationRule());
+ }
+ add(
+ $current,
+ "valueTokens",
+ lv_valueTokens_4_0,
+ "CssTok");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)+(
+(
+ lv_important_5_0=RULE_IMPORTANT_SYM
+ {
+ newLeafNode(lv_important_5_0, grammarAccess.getCss_declarationAccess().getImportantIMPORTANT_SYMTerminalRuleCall_5_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getCss_declarationRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "important",
+ true,
+ "IMPORTANT_SYM");
+ }
+
+)
+)?)
+;
+finally {
+ myHiddenTokenState.restore();
+}
+
+
+
+
+
+// Entry rule entryRulecss_property
+entryRulecss_property returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getCss_propertyRule()); }
+ iv_rulecss_property=rulecss_property
+ { $current=$iv_rulecss_property.current; }
+ EOF
+;
+
+// Rule css_property
+rulecss_property returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getCss_propertyAccess().getCss_propertyAction_0(),
+ $current);
+ }
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getCss_propertyAccess().getNameValidPropertyIdentParserRuleCall_1_0());
+ }
+ lv_name_1_0=ruleValidPropertyIdent {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getCss_propertyRule());
+ }
+ set(
+ $current,
+ "name",
+ lv_name_1_0,
+ "ValidPropertyIdent");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleValidPropertyIdent
+entryRuleValidPropertyIdent returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getValidPropertyIdentRule()); }
+ iv_ruleValidPropertyIdent=ruleValidPropertyIdent
+ { $current=$iv_ruleValidPropertyIdent.current.getText(); }
+ EOF
+;
+
+// Rule ValidPropertyIdent
+ruleValidPropertyIdent returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+
+ {
+ newCompositeNode(grammarAccess.getValidPropertyIdentAccess().getIdentifierParserRuleCall());
+ }
+ this_Identifier_0=ruleIdentifier {
+ $current.merge(this_Identifier_0);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+
+ ;
+
+
+
+
+
+// Entry rule entryRulePseudoClassOrFunc
+entryRulePseudoClassOrFunc returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getPseudoClassOrFuncRule()); }
+ iv_rulePseudoClassOrFunc=rulePseudoClassOrFunc
+ { $current=$iv_rulePseudoClassOrFunc.current; }
+ EOF
+;
+
+// Rule PseudoClassOrFunc
+rulePseudoClassOrFunc returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getPseudoClassOrFuncAccess().getPseudoClassParserRuleCall_0());
+ }
+ this_PseudoClass_0=rulePseudoClass
+ {
+ $current = $this_PseudoClass_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getPseudoClassOrFuncAccess().getPseudoClassFunctionParserRuleCall_1());
+ }
+ this_PseudoClassFunction_1=rulePseudoClassFunction
+ {
+ $current = $this_PseudoClassFunction_1.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRulePseudoClass
+entryRulePseudoClass returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getPseudoClassRule()); }
+ iv_rulePseudoClass=rulePseudoClass
+ { $current=$iv_rulePseudoClass.current; }
+ EOF
+;
+
+// Rule PseudoClass
+rulePseudoClass returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(this_COLON_0=RULE_COLON
+ {
+ newLeafNode(this_COLON_0, grammarAccess.getPseudoClassAccess().getCOLONTerminalRuleCall_0());
+ }
+(this_COLON_1=RULE_COLON
+ {
+ newLeafNode(this_COLON_1, grammarAccess.getPseudoClassAccess().getCOLONTerminalRuleCall_1());
+ }
+)?
+ {
+ newCompositeNode(grammarAccess.getPseudoClassAccess().getPseudoClassNameParserRuleCall_2());
+ }
+ this_PseudoClassName_2=rulePseudoClassName
+ {
+ $current = $this_PseudoClassName_2.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRulePseudoClassName
+entryRulePseudoClassName returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getPseudoClassNameRule()); }
+ iv_rulePseudoClassName=rulePseudoClassName
+ { $current=$iv_rulePseudoClassName.current; }
+ EOF
+;
+
+// Rule PseudoClassName
+rulePseudoClassName returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+(
+ {
+ newCompositeNode(grammarAccess.getPseudoClassNameAccess().getNameIdentifierParserRuleCall_0());
+ }
+ lv_name_0_0=ruleIdentifier {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPseudoClassNameRule());
+ }
+ set(
+ $current,
+ "name",
+ lv_name_0_0,
+ "Identifier");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)
+;
+
+
+
+
+
+// Entry rule entryRulePseudoClassFunction
+entryRulePseudoClassFunction returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getPseudoClassFunctionRule()); }
+ iv_rulePseudoClassFunction=rulePseudoClassFunction
+ { $current=$iv_rulePseudoClassFunction.current; }
+ EOF
+;
+
+// Rule PseudoClassFunction
+rulePseudoClassFunction returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(((
+(
+ {
+ newCompositeNode(grammarAccess.getPseudoClassFunctionAccess().getNotNotFunctionCallParserRuleCall_0_0_0());
+ }
+ lv_not_0_0=ruleNotFunctionCall {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPseudoClassFunctionRule());
+ }
+ set(
+ $current,
+ "not",
+ true,
+ "NotFunctionCall");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getPseudoClassFunctionAccess().getParamSelectorSimpleSelectorForNegationParserRuleCall_0_1_0());
+ }
+ lv_paramSelector_1_0=ruleSimpleSelectorForNegation {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPseudoClassFunctionRule());
+ }
+ set(
+ $current,
+ "paramSelector",
+ lv_paramSelector_1_0,
+ "SimpleSelectorForNegation");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_2=')'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getPseudoClassFunctionAccess().getRightParenthesisKeyword_0_2());
+ }
+)
+ |(this_COLON_3=RULE_COLON
+ {
+ newLeafNode(this_COLON_3, grammarAccess.getPseudoClassFunctionAccess().getCOLONTerminalRuleCall_1_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getPseudoClassFunctionAccess().getNameIdentifierParserRuleCall_1_1_0());
+ }
+ lv_name_4_0=ruleIdentifier {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPseudoClassFunctionRule());
+ }
+ set(
+ $current,
+ "name",
+ lv_name_4_0,
+ "Identifier");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_5='('
+ {
+ newLeafNode(otherlv_5, grammarAccess.getPseudoClassFunctionAccess().getLeftParenthesisKeyword_1_2());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getPseudoClassFunctionAccess().getParamsCssTokParserRuleCall_1_3_0());
+ }
+ lv_params_6_0=ruleCssTok {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getPseudoClassFunctionRule());
+ }
+ add(
+ $current,
+ "params",
+ lv_params_6_0,
+ "CssTok");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)* otherlv_7=')'
+ {
+ newLeafNode(otherlv_7, grammarAccess.getPseudoClassFunctionAccess().getRightParenthesisKeyword_1_4());
+ }
+))
+;
+
+
+
+
+
+// Entry rule entryRuleNotFunctionCall
+entryRuleNotFunctionCall returns [String current=null]
+ @init {
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+ }
+ :
+ { newCompositeNode(grammarAccess.getNotFunctionCallRule()); }
+ iv_ruleNotFunctionCall=ruleNotFunctionCall
+ { $current=$iv_ruleNotFunctionCall.current.getText(); }
+ EOF
+;
+finally {
+ myHiddenTokenState.restore();
+}
+
+// Rule NotFunctionCall
+ruleNotFunctionCall returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+ }
+ @after { leaveRule(); }:
+( this_COLON_0=RULE_COLON {
+ $current.merge(this_COLON_0);
+ }
+
+ {
+ newLeafNode(this_COLON_0, grammarAccess.getNotFunctionCallAccess().getCOLONTerminalRuleCall_0());
+ }
+
+ kw='not('
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getNotFunctionCallAccess().getNotKeyword_1());
+ }
+)
+ ;
+finally {
+ myHiddenTokenState.restore();
+}
+
+
+
+
+
+// Entry rule entryRulecombinator
+entryRulecombinator returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getCombinatorRule()); }
+ iv_rulecombinator=rulecombinator
+ { $current=$iv_rulecombinator.current.getText(); }
+ EOF
+;
+
+// Rule combinator
+rulecombinator returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( this_PLUS_0=RULE_PLUS {
+ $current.merge(this_PLUS_0);
+ }
+
+ {
+ newLeafNode(this_PLUS_0, grammarAccess.getCombinatorAccess().getPLUSTerminalRuleCall_0());
+ }
+
+ |
+ kw='>'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getCombinatorAccess().getGreaterThanSignKeyword_1());
+ }
+
+ |
+ kw='~'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getCombinatorAccess().getTildeKeyword_2());
+ }
+)
+ ;
+
+
+
+
+
+
+
+
+
+// Entry rule entryRuleSymbolTok
+entryRuleSymbolTok returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getSymbolTokRule()); }
+ iv_ruleSymbolTok=ruleSymbolTok
+ { $current=$iv_ruleSymbolTok.current; }
+ EOF
+;
+
+// Rule SymbolTok
+ruleSymbolTok returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getSymbolTokAccess().getSymbolTokAction_0(),
+ $current);
+ }
+)(
+(
+(
+ lv_symbol_1_1=RULE_COMMA
+ {
+ newLeafNode(lv_symbol_1_1, grammarAccess.getSymbolTokAccess().getSymbolCOMMATerminalRuleCall_1_0_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getSymbolTokRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "symbol",
+ lv_symbol_1_1,
+ "COMMA");
+ }
+
+ | lv_symbol_1_2=RULE_PERCENT
+ {
+ newLeafNode(lv_symbol_1_2, grammarAccess.getSymbolTokAccess().getSymbolPERCENTTerminalRuleCall_1_0_1());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getSymbolTokRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "symbol",
+ lv_symbol_1_2,
+ "PERCENT");
+ }
+
+)
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleWSTok
+entryRuleWSTok returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getWSTokRule()); }
+ iv_ruleWSTok=ruleWSTok
+ { $current=$iv_ruleWSTok.current; }
+ EOF
+;
+
+// Rule WSTok
+ruleWSTok returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getWSTokAccess().getWSTokAction_0(),
+ $current);
+ }
+)this_WS_1=RULE_WS
+ {
+ newLeafNode(this_WS_1, grammarAccess.getWSTokAccess().getWSTerminalRuleCall_1());
+ }
+)
+;
+
+
+
+
+
+// Entry rule entryRuleStringTok
+entryRuleStringTok returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getStringTokRule()); }
+ iv_ruleStringTok=ruleStringTok
+ { $current=$iv_ruleStringTok.current; }
+ EOF
+;
+
+// Rule StringTok
+ruleStringTok returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getStringTokAccess().getStringTokAction_0(),
+ $current);
+ }
+)(
+(
+ lv_value_1_0=RULE_CSSSTRING
+ {
+ newLeafNode(lv_value_1_0, grammarAccess.getStringTokAccess().getValueCSSSTRINGTerminalRuleCall_1_0());
+ }
+ {
+ if ($current==null) {
+ $current = createModelElement(grammarAccess.getStringTokRule());
+ }
+ setWithLastConsumed(
+ $current,
+ "value",
+ lv_value_1_0,
+ "CSSSTRING");
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleNumberTok
+entryRuleNumberTok returns [EObject current=null]
+ @init {
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+ }
+ :
+ { newCompositeNode(grammarAccess.getNumberTokRule()); }
+ iv_ruleNumberTok=ruleNumberTok
+ { $current=$iv_ruleNumberTok.current; }
+ EOF
+;
+finally {
+ myHiddenTokenState.restore();
+}
+
+// Rule NumberTok
+ruleNumberTok returns [EObject current=null]
+ @init { enterRule();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getNumberTokAccess().getNumberTokAction_0(),
+ $current);
+ }
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getNumberTokAccess().getValNumParserRuleCall_1_0());
+ }
+ lv_val_1_0=ruleNum {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getNumberTokRule());
+ }
+ set(
+ $current,
+ "val",
+ lv_val_1_0,
+ "Num");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+finally {
+ myHiddenTokenState.restore();
+}
+
+
+
+
+
+// Entry rule entryRuleUrlTok
+entryRuleUrlTok returns [EObject current=null]
+ :
+ { newCompositeNode(grammarAccess.getUrlTokRule()); }
+ iv_ruleUrlTok=ruleUrlTok
+ { $current=$iv_ruleUrlTok.current; }
+ EOF
+;
+
+// Rule UrlTok
+ruleUrlTok returns [EObject current=null]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getUrlTokAccess().getUrlTokAction_0(),
+ $current);
+ }
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getUrlTokAccess().getUrlURLTypeParserRuleCall_1_0());
+ }
+ lv_url_1_0=ruleURLType {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getUrlTokRule());
+ }
+ set(
+ $current,
+ "url",
+ lv_url_1_0,
+ "URLType");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+
+
+
+
+
+// Entry rule entryRuleColorTok
+entryRuleColorTok returns [EObject current=null]
+ @init {
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+ }
+ :
+ { newCompositeNode(grammarAccess.getColorTokRule()); }
+ iv_ruleColorTok=ruleColorTok
+ { $current=$iv_ruleColorTok.current; }
+ EOF
+;
+finally {
+ myHiddenTokenState.restore();
+}
+
+// Rule ColorTok
+ruleColorTok returns [EObject current=null]
+ @init { enterRule();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getColorTokAccess().getColorTokAction_0(),
+ $current);
+ }
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getColorTokAccess().getValueHexParserRuleCall_1_0());
+ }
+ lv_value_1_0=ruleHex {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getColorTokRule());
+ }
+ set(
+ $current,
+ "value",
+ lv_value_1_0,
+ "Hex");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+))
+;
+finally {
+ myHiddenTokenState.restore();
+}
+
+
+
+
+
+// Entry rule entryRuleIdentifierOrFuncTok
+entryRuleIdentifierOrFuncTok returns [EObject current=null]
+ @init {
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens("RULE_ML_COMMENT");
+ }
+ :
+ { newCompositeNode(grammarAccess.getIdentifierOrFuncTokRule()); }
+ iv_ruleIdentifierOrFuncTok=ruleIdentifierOrFuncTok
+ { $current=$iv_ruleIdentifierOrFuncTok.current; }
+ EOF
+;
+finally {
+ myHiddenTokenState.restore();
+}
+
+// Rule IdentifierOrFuncTok
+ruleIdentifierOrFuncTok returns [EObject current=null]
+ @init { enterRule();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens("RULE_ML_COMMENT");
+ }
+ @after { leaveRule(); }:
+((
+ {
+ $current = forceCreateModelElement(
+ grammarAccess.getIdentifierOrFuncTokAccess().getIdentifierTokAction_0(),
+ $current);
+ }
+)(
+(
+ {
+ newCompositeNode(grammarAccess.getIdentifierOrFuncTokAccess().getNameIdentifierParserRuleCall_1_0());
+ }
+ lv_name_1_0=ruleIdentifier {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getIdentifierOrFuncTokRule());
+ }
+ set(
+ $current,
+ "name",
+ lv_name_1_0,
+ "Identifier");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)((
+ {
+ $current = forceCreateModelElementAndSet(
+ grammarAccess.getIdentifierOrFuncTokAccess().getFuncTokNameAction_2_0(),
+ $current);
+ }
+) otherlv_3='('
+ {
+ newLeafNode(otherlv_3, grammarAccess.getIdentifierOrFuncTokAccess().getLeftParenthesisKeyword_2_1());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getIdentifierOrFuncTokAccess().getParamsCssTokParserRuleCall_2_2_0());
+ }
+ lv_params_4_0=ruleCssTok {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getIdentifierOrFuncTokRule());
+ }
+ add(
+ $current,
+ "params",
+ lv_params_4_0,
+ "CssTok");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+)+ otherlv_5=')'
+ {
+ newLeafNode(otherlv_5, grammarAccess.getIdentifierOrFuncTokAccess().getRightParenthesisKeyword_2_3());
+ }
+)?)
+;
+finally {
+ myHiddenTokenState.restore();
+}
+
+
+
+
+
+// Entry rule entryRuleCssTok
+entryRuleCssTok returns [EObject current=null]
+ @init {
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens("RULE_ML_COMMENT");
+ }
+ :
+ { newCompositeNode(grammarAccess.getCssTokRule()); }
+ iv_ruleCssTok=ruleCssTok
+ { $current=$iv_ruleCssTok.current; }
+ EOF
+;
+finally {
+ myHiddenTokenState.restore();
+}
+
+// Rule CssTok
+ruleCssTok returns [EObject current=null]
+ @init { enterRule();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens("RULE_ML_COMMENT");
+ }
+ @after { leaveRule(); }:
+(
+ {
+ newCompositeNode(grammarAccess.getCssTokAccess().getIdentifierOrFuncTokParserRuleCall_0());
+ }
+ this_IdentifierOrFuncTok_0=ruleIdentifierOrFuncTok
+ {
+ $current = $this_IdentifierOrFuncTok_0.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getCssTokAccess().getSymbolTokParserRuleCall_1());
+ }
+ this_SymbolTok_1=ruleSymbolTok
+ {
+ $current = $this_SymbolTok_1.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getCssTokAccess().getWSTokParserRuleCall_2());
+ }
+ this_WSTok_2=ruleWSTok
+ {
+ $current = $this_WSTok_2.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getCssTokAccess().getStringTokParserRuleCall_3());
+ }
+ this_StringTok_3=ruleStringTok
+ {
+ $current = $this_StringTok_3.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getCssTokAccess().getNumberTokParserRuleCall_4());
+ }
+ this_NumberTok_4=ruleNumberTok
+ {
+ $current = $this_NumberTok_4.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getCssTokAccess().getUrlTokParserRuleCall_5());
+ }
+ this_UrlTok_5=ruleUrlTok
+ {
+ $current = $this_UrlTok_5.current;
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getCssTokAccess().getColorTokParserRuleCall_6());
+ }
+ this_ColorTok_6=ruleColorTok
+ {
+ $current = $this_ColorTok_6.current;
+ afterParserOrEnumRuleCall();
+ }
+)
+;
+finally {
+ myHiddenTokenState.restore();
+}
+
+
+
+
+
+// Entry rule entryRuleURLType
+entryRuleURLType returns [EObject current=null]
+ @init {
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+ }
+ :
+ { newCompositeNode(grammarAccess.getURLTypeRule()); }
+ iv_ruleURLType=ruleURLType
+ { $current=$iv_ruleURLType.current; }
+ EOF
+;
+finally {
+ myHiddenTokenState.restore();
+}
+
+// Rule URLType
+ruleURLType returns [EObject current=null]
+ @init { enterRule();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+ }
+ @after { leaveRule(); }:
+( otherlv_0='url('
+ {
+ newLeafNode(otherlv_0, grammarAccess.getURLTypeAccess().getUrlKeyword_0());
+ }
+(
+(
+ {
+ newCompositeNode(grammarAccess.getURLTypeAccess().getUrlValidURLParserRuleCall_1_0());
+ }
+ lv_url_1_0=ruleValidURL {
+ if ($current==null) {
+ $current = createModelElementForParent(grammarAccess.getURLTypeRule());
+ }
+ set(
+ $current,
+ "url",
+ lv_url_1_0,
+ "ValidURL");
+ afterParserOrEnumRuleCall();
+ }
+
+)
+) otherlv_2=')'
+ {
+ newLeafNode(otherlv_2, grammarAccess.getURLTypeAccess().getRightParenthesisKeyword_2());
+ }
+)
+;
+finally {
+ myHiddenTokenState.restore();
+}
+
+
+
+
+
+// Entry rule entryRuleValidURLSymbol
+entryRuleValidURLSymbol returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getValidURLSymbolRule()); }
+ iv_ruleValidURLSymbol=ruleValidURLSymbol
+ { $current=$iv_ruleValidURLSymbol.current.getText(); }
+ EOF
+;
+
+// Rule ValidURLSymbol
+ruleValidURLSymbol returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( this_DASH_0=RULE_DASH {
+ $current.merge(this_DASH_0);
+ }
+
+ {
+ newLeafNode(this_DASH_0, grammarAccess.getValidURLSymbolAccess().getDASHTerminalRuleCall_0());
+ }
+
+ |
+ kw='.'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getValidURLSymbolAccess().getFullStopKeyword_1());
+ }
+
+ | this_UNDERSCORE_2=RULE_UNDERSCORE {
+ $current.merge(this_UNDERSCORE_2);
+ }
+
+ {
+ newLeafNode(this_UNDERSCORE_2, grammarAccess.getValidURLSymbolAccess().getUNDERSCORETerminalRuleCall_2());
+ }
+
+ |
+ kw='~'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getValidURLSymbolAccess().getTildeKeyword_3());
+ }
+
+ | this_COLON_4=RULE_COLON {
+ $current.merge(this_COLON_4);
+ }
+
+ {
+ newLeafNode(this_COLON_4, grammarAccess.getValidURLSymbolAccess().getCOLONTerminalRuleCall_4());
+ }
+
+ |
+ kw='/'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getValidURLSymbolAccess().getSolidusKeyword_5());
+ }
+
+ |
+ kw='?'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getValidURLSymbolAccess().getQuestionMarkKeyword_6());
+ }
+
+ | this_HASHMARK_7=RULE_HASHMARK {
+ $current.merge(this_HASHMARK_7);
+ }
+
+ {
+ newLeafNode(this_HASHMARK_7, grammarAccess.getValidURLSymbolAccess().getHASHMARKTerminalRuleCall_7());
+ }
+
+ |
+ kw='['
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getValidURLSymbolAccess().getLeftSquareBracketKeyword_8());
+ }
+
+ |
+ kw=']'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getValidURLSymbolAccess().getRightSquareBracketKeyword_9());
+ }
+
+ |
+ kw='@'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getValidURLSymbolAccess().getCommercialAtKeyword_10());
+ }
+
+ |
+ kw='!'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getValidURLSymbolAccess().getExclamationMarkKeyword_11());
+ }
+
+ |
+ kw='$'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getValidURLSymbolAccess().getDollarSignKeyword_12());
+ }
+
+ |
+ kw='&'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getValidURLSymbolAccess().getAmpersandKeyword_13());
+ }
+
+ |
+ kw='*'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getValidURLSymbolAccess().getAsteriskKeyword_14());
+ }
+
+ | this_PLUS_15=RULE_PLUS {
+ $current.merge(this_PLUS_15);
+ }
+
+ {
+ newLeafNode(this_PLUS_15, grammarAccess.getValidURLSymbolAccess().getPLUSTerminalRuleCall_15());
+ }
+
+ | this_COMMA_16=RULE_COMMA {
+ $current.merge(this_COMMA_16);
+ }
+
+ {
+ newLeafNode(this_COMMA_16, grammarAccess.getValidURLSymbolAccess().getCOMMATerminalRuleCall_16());
+ }
+
+ |
+ kw=';'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getValidURLSymbolAccess().getSemicolonKeyword_17());
+ }
+
+ |(
+ kw='='
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getValidURLSymbolAccess().getEqualsSignKeyword_18_0());
+ }
+
+ {
+ newCompositeNode(grammarAccess.getValidURLSymbolAccess().getKeywordHackParserRuleCall_18_1());
+ }
+ this_KeywordHack_19=ruleKeywordHack {
+ $current.merge(this_KeywordHack_19);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+))
+ ;
+
+
+
+
+
+// Entry rule entryRuleKeywordHack
+entryRuleKeywordHack returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getKeywordHackRule()); }
+ iv_ruleKeywordHack=ruleKeywordHack
+ { $current=$iv_ruleKeywordHack.current.getText(); }
+ EOF
+;
+
+// Rule KeywordHack
+ruleKeywordHack returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+(
+ kw='not'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getKeywordHackAccess().getNotKeyword_0());
+ }
+
+ |
+ kw='no'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getKeywordHackAccess().getNoKeyword_1());
+ }
+
+ |
+ kw='url'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getKeywordHackAccess().getUrlKeyword_2());
+ }
+
+ |
+ kw='ur'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getKeywordHackAccess().getUrKeyword_3());
+ }
+)
+ ;
+
+
+
+
+
+// Entry rule entryRuleValidURL
+entryRuleValidURL returns [String current=null]
+ @init {
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+ }
+ :
+ { newCompositeNode(grammarAccess.getValidURLRule()); }
+ iv_ruleValidURL=ruleValidURL
+ { $current=$iv_ruleValidURL.current.getText(); }
+ EOF
+;
+finally {
+ myHiddenTokenState.restore();
+}
+
+// Rule ValidURL
+ruleValidURL returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+ }
+ @after { leaveRule(); }:
+( this_CSSSTRING_0=RULE_CSSSTRING {
+ $current.merge(this_CSSSTRING_0);
+ }
+
+ {
+ newLeafNode(this_CSSSTRING_0, grammarAccess.getValidURLAccess().getCSSSTRINGTerminalRuleCall_0());
+ }
+
+ |(
+ {
+ newCompositeNode(grammarAccess.getValidURLAccess().getValidURLSymbolParserRuleCall_1_0());
+ }
+ this_ValidURLSymbol_1=ruleValidURLSymbol {
+ $current.merge(this_ValidURLSymbol_1);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getValidURLAccess().getKeywordHackParserRuleCall_1_1());
+ }
+ this_KeywordHack_2=ruleKeywordHack {
+ $current.merge(this_KeywordHack_2);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+
+ | this_ONE_HEX_LETTER_3=RULE_ONE_HEX_LETTER {
+ $current.merge(this_ONE_HEX_LETTER_3);
+ }
+
+ {
+ newLeafNode(this_ONE_HEX_LETTER_3, grammarAccess.getValidURLAccess().getONE_HEX_LETTERTerminalRuleCall_1_2());
+ }
+
+ | this_ONE_NON_HEX_LETTER_4=RULE_ONE_NON_HEX_LETTER {
+ $current.merge(this_ONE_NON_HEX_LETTER_4);
+ }
+
+ {
+ newLeafNode(this_ONE_NON_HEX_LETTER_4, grammarAccess.getValidURLAccess().getONE_NON_HEX_LETTERTerminalRuleCall_1_3());
+ }
+
+ | this_ONE_INT_5=RULE_ONE_INT {
+ $current.merge(this_ONE_INT_5);
+ }
+
+ {
+ newLeafNode(this_ONE_INT_5, grammarAccess.getValidURLAccess().getONE_INTTerminalRuleCall_1_4());
+ }
+
+ |
+ kw='\\ '
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getValidURLAccess().getReverseSolidusSpaceKeyword_1_5());
+ }
+
+ |
+ kw='\\('
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getValidURLAccess().getReverseSolidusLeftParenthesisKeyword_1_6());
+ }
+
+ |
+ kw='\\)'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getValidURLAccess().getReverseSolidusRightParenthesisKeyword_1_7());
+ }
+
+ |
+ kw='\\\''
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getValidURLAccess().getReverseSolidusApostropheKeyword_1_8());
+ }
+
+ |
+ kw='\\"'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getValidURLAccess().getReverseSolidusQuotationMarkKeyword_1_9());
+ }
+
+ |( this_PERCENT_11=RULE_PERCENT {
+ $current.merge(this_PERCENT_11);
+ }
+
+ {
+ newLeafNode(this_PERCENT_11, grammarAccess.getValidURLAccess().getPERCENTTerminalRuleCall_1_10_0());
+ }
+( this_ONE_INT_12=RULE_ONE_INT {
+ $current.merge(this_ONE_INT_12);
+ }
+
+ {
+ newLeafNode(this_ONE_INT_12, grammarAccess.getValidURLAccess().getONE_INTTerminalRuleCall_1_10_1_0());
+ }
+
+ | this_ONE_HEX_LETTER_13=RULE_ONE_HEX_LETTER {
+ $current.merge(this_ONE_HEX_LETTER_13);
+ }
+
+ {
+ newLeafNode(this_ONE_HEX_LETTER_13, grammarAccess.getValidURLAccess().getONE_HEX_LETTERTerminalRuleCall_1_10_1_1());
+ }
+)( this_ONE_INT_14=RULE_ONE_INT {
+ $current.merge(this_ONE_INT_14);
+ }
+
+ {
+ newLeafNode(this_ONE_INT_14, grammarAccess.getValidURLAccess().getONE_INTTerminalRuleCall_1_10_2_0());
+ }
+
+ | this_ONE_HEX_LETTER_15=RULE_ONE_HEX_LETTER {
+ $current.merge(this_ONE_HEX_LETTER_15);
+ }
+
+ {
+ newLeafNode(this_ONE_HEX_LETTER_15, grammarAccess.getValidURLAccess().getONE_HEX_LETTERTerminalRuleCall_1_10_2_1());
+ }
+)))+)
+ ;
+finally {
+ myHiddenTokenState.restore();
+}
+
+
+
+
+
+// Entry rule entryRuleIdentifier
+entryRuleIdentifier returns [String current=null]
+ @init {
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+ }
+ :
+ { newCompositeNode(grammarAccess.getIdentifierRule()); }
+ iv_ruleIdentifier=ruleIdentifier
+ { $current=$iv_ruleIdentifier.current.getText(); }
+ EOF
+;
+finally {
+ myHiddenTokenState.restore();
+}
+
+// Rule Identifier
+ruleIdentifier returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+ }
+ @after { leaveRule(); }:
+(( this_DASH_0=RULE_DASH {
+ $current.merge(this_DASH_0);
+ }
+
+ {
+ newLeafNode(this_DASH_0, grammarAccess.getIdentifierAccess().getDASHTerminalRuleCall_0());
+ }
+)?( this_UNDERSCORE_1=RULE_UNDERSCORE {
+ $current.merge(this_UNDERSCORE_1);
+ }
+
+ {
+ newLeafNode(this_UNDERSCORE_1, grammarAccess.getIdentifierAccess().getUNDERSCORETerminalRuleCall_1_0());
+ }
+
+ | this_ONE_HEX_LETTER_2=RULE_ONE_HEX_LETTER {
+ $current.merge(this_ONE_HEX_LETTER_2);
+ }
+
+ {
+ newLeafNode(this_ONE_HEX_LETTER_2, grammarAccess.getIdentifierAccess().getONE_HEX_LETTERTerminalRuleCall_1_1());
+ }
+
+ | this_ONE_NON_HEX_LETTER_3=RULE_ONE_NON_HEX_LETTER {
+ $current.merge(this_ONE_NON_HEX_LETTER_3);
+ }
+
+ {
+ newLeafNode(this_ONE_NON_HEX_LETTER_3, grammarAccess.getIdentifierAccess().getONE_NON_HEX_LETTERTerminalRuleCall_1_2());
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getIdentifierAccess().getKeywordHackParserRuleCall_1_3());
+ }
+ this_KeywordHack_4=ruleKeywordHack {
+ $current.merge(this_KeywordHack_4);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+)((( RULE_UNDERSCORE
+ | RULE_DASH
+ | RULE_ONE_HEX_LETTER
+ | RULE_ONE_NON_HEX_LETTER
+ | RULE_ONE_INT
+ | ruleKeywordHack))=>( this_UNDERSCORE_5=RULE_UNDERSCORE {
+ $current.merge(this_UNDERSCORE_5);
+ }
+
+ {
+ newLeafNode(this_UNDERSCORE_5, grammarAccess.getIdentifierAccess().getUNDERSCORETerminalRuleCall_2_0_0());
+ }
+
+ | this_DASH_6=RULE_DASH {
+ $current.merge(this_DASH_6);
+ }
+
+ {
+ newLeafNode(this_DASH_6, grammarAccess.getIdentifierAccess().getDASHTerminalRuleCall_2_0_1());
+ }
+
+ | this_ONE_HEX_LETTER_7=RULE_ONE_HEX_LETTER {
+ $current.merge(this_ONE_HEX_LETTER_7);
+ }
+
+ {
+ newLeafNode(this_ONE_HEX_LETTER_7, grammarAccess.getIdentifierAccess().getONE_HEX_LETTERTerminalRuleCall_2_0_2());
+ }
+
+ | this_ONE_NON_HEX_LETTER_8=RULE_ONE_NON_HEX_LETTER {
+ $current.merge(this_ONE_NON_HEX_LETTER_8);
+ }
+
+ {
+ newLeafNode(this_ONE_NON_HEX_LETTER_8, grammarAccess.getIdentifierAccess().getONE_NON_HEX_LETTERTerminalRuleCall_2_0_3());
+ }
+
+ | this_ONE_INT_9=RULE_ONE_INT {
+ $current.merge(this_ONE_INT_9);
+ }
+
+ {
+ newLeafNode(this_ONE_INT_9, grammarAccess.getIdentifierAccess().getONE_INTTerminalRuleCall_2_0_4());
+ }
+
+ |
+ {
+ newCompositeNode(grammarAccess.getIdentifierAccess().getKeywordHackParserRuleCall_2_0_5());
+ }
+ this_KeywordHack_10=ruleKeywordHack {
+ $current.merge(this_KeywordHack_10);
+ }
+
+ {
+ afterParserOrEnumRuleCall();
+ }
+))*)
+ ;
+finally {
+ myHiddenTokenState.restore();
+}
+
+
+
+
+
+// Entry rule entryRuleNum
+entryRuleNum returns [String current=null]
+ @init {
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+ }
+ :
+ { newCompositeNode(grammarAccess.getNumRule()); }
+ iv_ruleNum=ruleNum
+ { $current=$iv_ruleNum.current.getText(); }
+ EOF
+;
+finally {
+ myHiddenTokenState.restore();
+}
+
+// Rule Num
+ruleNum returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens();
+ }
+ @after { leaveRule(); }:
+(( this_PLUS_0=RULE_PLUS {
+ $current.merge(this_PLUS_0);
+ }
+
+ {
+ newLeafNode(this_PLUS_0, grammarAccess.getNumAccess().getPLUSTerminalRuleCall_0_0());
+ }
+
+ | this_DASH_1=RULE_DASH {
+ $current.merge(this_DASH_1);
+ }
+
+ {
+ newLeafNode(this_DASH_1, grammarAccess.getNumAccess().getDASHTerminalRuleCall_0_1());
+ }
+)?((
+ kw='.'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getNumAccess().getFullStopKeyword_1_0_0());
+ }
+(( RULE_ONE_INT)=> this_ONE_INT_3=RULE_ONE_INT {
+ $current.merge(this_ONE_INT_3);
+ }
+
+ {
+ newLeafNode(this_ONE_INT_3, grammarAccess.getNumAccess().getONE_INTTerminalRuleCall_1_0_1());
+ }
+)+)
+ |((( RULE_ONE_INT)=> this_ONE_INT_4=RULE_ONE_INT {
+ $current.merge(this_ONE_INT_4);
+ }
+
+ {
+ newLeafNode(this_ONE_INT_4, grammarAccess.getNumAccess().getONE_INTTerminalRuleCall_1_1_0());
+ }
+)+(((
+ '.'
+)=>
+ kw='.'
+ {
+ $current.merge(kw);
+ newLeafNode(kw, grammarAccess.getNumAccess().getFullStopKeyword_1_1_1_0());
+ }
+)(( RULE_ONE_INT)=> this_ONE_INT_6=RULE_ONE_INT {
+ $current.merge(this_ONE_INT_6);
+ }
+
+ {
+ newLeafNode(this_ONE_INT_6, grammarAccess.getNumAccess().getONE_INTTerminalRuleCall_1_1_1_1());
+ }
+)+)?)))
+ ;
+finally {
+ myHiddenTokenState.restore();
+}
+
+
+
+
+
+// Entry rule entryRuleHex
+entryRuleHex returns [String current=null]
+ :
+ { newCompositeNode(grammarAccess.getHexRule()); }
+ iv_ruleHex=ruleHex
+ { $current=$iv_ruleHex.current.getText(); }
+ EOF
+;
+
+// Rule Hex
+ruleHex returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()]
+ @init { enterRule();
+ }
+ @after { leaveRule(); }:
+( this_HASHMARK_0=RULE_HASHMARK {
+ $current.merge(this_HASHMARK_0);
+ }
+
+ {
+ newLeafNode(this_HASHMARK_0, grammarAccess.getHexAccess().getHASHMARKTerminalRuleCall_0());
+ }
+((( RULE_ONE_INT
+ | RULE_ONE_HEX_LETTER))=>( this_ONE_INT_1=RULE_ONE_INT {
+ $current.merge(this_ONE_INT_1);
+ }
+
+ {
+ newLeafNode(this_ONE_INT_1, grammarAccess.getHexAccess().getONE_INTTerminalRuleCall_1_0_0());
+ }
+
+ | this_ONE_HEX_LETTER_2=RULE_ONE_HEX_LETTER {
+ $current.merge(this_ONE_HEX_LETTER_2);
+ }
+
+ {
+ newLeafNode(this_ONE_HEX_LETTER_2, grammarAccess.getHexAccess().getONE_HEX_LETTERTerminalRuleCall_1_0_1());
+ }
+))+)
+ ;
+
+
+
+
+
+RULE_IMPORTANT_SYM : '!important';
+
+RULE_ONE_INT : '0'..'9';
+
+RULE_ONE_HEX_LETTER : ('a'..'f'|'A'..'F');
+
+RULE_ONE_NON_HEX_LETTER : ('g'..'z'|'G'..'Z');
+
+RULE_UNDERSCORE : '_';
+
+RULE_DASH : '-';
+
+RULE_PLUS : '+';
+
+RULE_HASHMARK : '#';
+
+RULE_COMMA : ',';
+
+RULE_PERCENT : '%';
+
+RULE_ML_COMMENT : '/*' ( options {greedy=false;} : . )*'*/';
+
+RULE_WS : (' '|'\t'|'\r'|'\n')+;
+
+RULE_CSSSTRING : ('"' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'0'..'9'|'a'..'f'|'A'..'F'|'\\')|~(('\\'|'"')))* '"'|'\'' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'0'..'9'|'a'..'f'|'A'..'F'|'\\')|~(('\\'|'\'')))* '\'');
+
+RULE_INCLUDES : '~=';
+
+RULE_DASHMATCH : '|=';
+
+RULE_COLON : ':';
+
+

Back to the top