- From: Bert Bos <Bert.Bos@sophia.inria.fr>
- Date: Mon, 22 Apr 1996 22:37:24 +0200
- To: www-style@www10.w3.org
Chris Lilley writes: > Wolfgang Rieger writes: > > There is a problem with the proposed syntax for RGB and RRGGBB values. > > Because both id-selector and RGB values are prefixed with '#', it is > > not possible to use Lex in a straightforward way to implement the > > lexical analyzer. > > This is clearly a problem with lex, not with CSS. The selector appears > on the lhs and the rgb vales appear on the rhs; there is no ambiguity > in the syntax. Keeping the lex rules simple was not a primary goal. However, Wolfgang is correct in that the formal grammar is currently incomplete. We have a corrected draft that is almost finished, which we'll publish as soon as Hakon is back from the US. The main point is: what will be easiest to understand for the human user and I believe that `#' for ID's and `#' for RGB values are both common practice and not likely to lead to confusion (except among computer scientists:-) ) The disambiguating rule in the lex spec depends on the `{' and introduces a `starting condition', like this: %s RHS ... "{" {BEGIN(RHS); return '{';} ... "}" {BEGIN(INITIAL); return '}';} ... <RHS>"#"{h3} | <RHS>"#"{h6} | <RHS>"#"{h9} {yylval.str = yytext; return HEXCOLOR;} "#" return '#'; with the appropriate definitions of h3, h6, h9 (hex numbers) and the token HEXCOLOR. This means that HEXCOLOR can only be matched on the rhs. Bert -- Bert Bos ( W 3 C ) http://www.w3.org/ http://www.w3.org/pub/WWW/People/Bos/ INRIA/W3C bert@w3.org 2004 Rt des Lucioles / BP 93 +33 93 65 77 71 06902 Sophia Antipolis Cedex, France
Received on Monday, 22 April 1996 16:37:39 UTC