Skip to content

Instantly share code, notes, and snippets.

@nex3
Created November 28, 2009 05:02
Show Gist options
  • Save nex3/244395 to your computer and use it in GitHub Desktop.
Save nex3/244395 to your computer and use it in GitHub Desktop.
This is the most-general grammar for property values in CSS.
It's taken from http://www.w3.org/TR/CSS2/syndata.html,
where the token definitions can be found.
value : [ any | block | ATKEYWORD S* ]+;
at-rule : ATKEYWORD S* any* [ block | ';' S* ];
block : '{' S* [ any | block | ATKEYWORD S* | ';' S* ]* '}' S*;
any : [ IDENT | NUMBER | PERCENTAGE | DIMENSION | STRING
| DELIM | URI | HASH | UNICODE-RANGE | INCLUDES
| DASHMATCH | ':' | FUNCTION S* any* ')'
| '(' S* any* ')' | '[' S* any* ']' ] S*;
This is the proposed Sass CSS-compatible value grammar.
value : [ any | block | ATKEYWORD S* ]+;
at-rule : ATKEYWORD S* any* [ block | ';' S* ];
block : '{' S* [ any | block | ATKEYWORD S* | ';' S* ]* '}' S*;
any : [ VARIABLE | IDENT | NUMBER | PERCENTAGE | DIMENSION | STRING
| DELIM | URI | HASH | UNICODE-RANGE | INCLUDES
| DASHMATCH | ':' | FUNCTION S* any* ')'
| '(' S* any* ')' | '[' S* any* ']' ] S*;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment