Skip to content
Snippets Groups Projects
Commit 9f135688 authored by Taddeüs Kroes's avatar Taddeüs Kroes
Browse files

Added more CSS3 selectors

parent 70b28195
No related branches found
No related tags found
No related merge requests found
......@@ -80,8 +80,8 @@ rule token = parse
| "<!--" { CDO }
| "-->" { CDC }
| ['~''|']?'=' as op { RELATION op }
| ['>''~'] as c { COMBINATOR (Char.escaped c) }
| ['~' '^' '$' '*' '|']? '=' as op { RELATION op }
| ['>' '~'] as c { COMBINATOR (Char.escaped c) }
| mystring as s { STRING (strip_quotes s) }
| badstring { raise (SyntaxError "bad string") }
......
......@@ -228,18 +228,13 @@ simple_selector:
{ elem ^ String.concat "" addons }
| addons=element_addon+
{ String.concat "" addons }
%inline element_addon:
| a=HASH | a=cls | a=attrib | a=pseudo
{ a }
%inline element_addon: a=HASH | a=cls | a=attrib | a=pseudo { a }
element_name:
| tag=IDENT { tag }
| STAR { "*" }
cls:
| DOT name=IDENT
{ "." ^ name }
attrib:
| LBRACK S* left=IDENT S* right=pair(RELATION, rel_value)? RBRACK
{ let right = match right with None -> "" | Some (op, term) -> op ^ term in
......@@ -247,13 +242,11 @@ attrib:
%inline rel_value:
| S* id=IDENT S* { id }
| S* s=STRING S* { "\"" ^ s ^ "\"" }
pseudo:
| COLON id=IDENT
{ ":" ^ id }
| COLON f=FUNCTION S* arg=terminated(IDENT, S*)? RPAREN
{ let arg = match arg with None -> "" | Some id -> id in
":" ^ f ^ "(" ^ arg ^ ")" }
| COLON f=FUNCTION args=wslist(COMMA, simple_selector) RPAREN
{ ":" ^ f ^ "(" ^ String.concat "," args ^ ")" }
declaration:
| name=property S* COLON S* value=expr important=boption(ig2(IMPORTANT_SYM, S*))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment