- From: Christoph P�per <christoph.paeper@crissov.de>
- Date: Fri, 3 Sep 2010 12:07:27 +0200
- To: "www-style@w3.org list" <www-style@w3.org>
Mark: > On Thu, Sep 2, 2010 at 1:32 PM, Jorrit Vermeiren <mercator+w3c@gmail.com> wrote: >> On Thu, Sep 2, 2010 at 09:49, Mark <markjord@gmail.com> wrote: >>> >>> ruleset >>> : selector [ ',' S* selector ]* >>> '{' S* declaration? [ ';' S* declaration? ]* '}' S* >> >> selector >> : simple_selector [ combinator selector | S+ [ combinator? selector ]? ]? > > If I only have a simple_selector, how is it taken care of? You only have only a �simple_selector� if there�s no space betweeen it and the opening brace, otherwise you have �simple_selector S+� as �selector�. There�s no problem, although I agree that �S*� in front of the brace would look more intuitive, when you consider the space a divider and not part of the selector. I think you could then remove one question mark: ruleset : selector [ ',' S* selector ]* S* '{' S* declaration? [ ';' S* declaration? ]* '}' S* selector : simple_selector [ combinator selector | S+ [ combinator? selector ] ]? Note that there�s also no explicit �S*� in front of the closing brace or the semicolon, because most productions end with �S*� anyhow. PS: I believe grammars would become more human readable if phrases like '{' S* declaration? [ ';' S* declaration? ]* '}' could be shortened to '{' [ [ ';' ]^ S* declaration? ]* '}' where �X^� meant exactly one �X�, but no �X� in the first instance of the parent group.
Received on Friday, 3 September 2010 10:08:02 UTC