Re: [flex-units] unit abbreviations and the flex()

Bjoern Hoehrmann <derhoermi@gmx.net> wrote:

> * Zack Weinberg wrote:
> >NUMBER 	{num}
> >PERCENTAGE 	{num}%
> >DIMENSION 	{num}{ident}
> >
> >declaration : property S* ':' S* value;
> >value       : [ any | block | ATKEYWORD S* ]+;
> >any         : [ IDENT | NUMBER | PERCENTAGE | DIMENSION | STRING
> >              | DELIM | URI | HASH | UNICODE-RANGE | INCLUDES
> >              | DASHMATCH | ':' | FUNCTION S* any* ')' 
> >              | '(' S* any* ')' | '[' S* any* ']' ] S*;
> >
> >(Maybe I should have said "core syntax" instead?)  Anyway, the
> >Appendix G grammar can be, and indeed already has been, modified
> >by Level 3 modules, but the section 4 grammar is not supposed to
> >change, and 
> >
> >   top: 2*;
> >
> >is not a valid 'declaration' per the section 4 grammar.
> 
> It is a declaration followed by a semicolon; the `value` consists of
> two `any`, one NUMBER and one DELIM (which is one character at any
> position where no other tokens match, and no other token begins with
> a '*') as no white space between the `any`s is required.

Hm, yes, I should have remembered that 'value' can be more than one
'any'.  So maybe we could get away with it, but it still strikes me 
as unnecessary implementation grief for dubious syntactic benefit.

zw

Received on Friday, 28 May 2010 17:19:48 UTC