About CSS3 selectors

Hey group :-),

This is my first message in this group, so thank you for your 
forbearance :-).

I'm working on CSS3 selectors and I noted that in the selector grammar 
[1], in the /expression/ rule (from the /functional_pseudo/ rule), there 
is no comma. Why? A pseudo-function cannot have an arity greather than 1?
Nonce, we have:

    expression
    /*  */
    : [ [ PLUS | '-' | DIMENSION | NUMBER | STRING | IDENT ] S* ]+
    ;

It would be great to have:

    expression
    /*  */
    : [ PLUS | '-' | DIMENSION | NUMBER | STRING | IDENT ] S*
    [ COMMA S* [ PLUS | '-' | DIMENSION | NUMBER | STRING | IDENT ] S* ]*
    ;

or simpler:

    expression
    /*  */
    : [ PLUS | '-' | DIMENSION | NUMBER | STRING | IDENT ] S*
    [ COMMA S* expression ]*
    ;


And I wonder whether the lexical scanner cannot be simplified. Actually, 
the ATKEYWORD token is not used, as the INVALID, PERCENTAGE, CDO and CDC 
tokens.


Thanks for your time :-),
Best regards.


[1] <http://www.w3.org/TR/css3-selectors/#w3cselgrammar>

-- 
Ivan Enderlin
Developer of Hoa Framework
http://hoa-project.net/

Received on Thursday, 27 May 2010 15:18:31 UTC