- From: Dirk Schulze <dschulze@adobe.com>
- Date: Thu, 24 Apr 2014 06:54:11 +0000
- To: Tab Atkins Jr. <jackalmage@gmail.com>
- CC: www-style list <www-style@w3.org>
> On Apr 24, 2014, at 4:20 AM, "Tab Atkins Jr." <jackalmage@gmail.com> wrote: > >> On Thu, Apr 17, 2014 at 5:27 PM, Tab Atkins Jr. <jackalmage@gmail.com> wrote: >> We're currently missing a grammar combinator in CSS's property grammar syntax. >> >> We can express "exactly one" as "a | b", and we can express 5 of the 6 >> possibilities in {0+, 1+, all}×{in order, any order}* . The one thing >> we're missing is "1+, in order", which we can't write without >> duplication and honestly confusing grammar. > > More syntax possibilities: > > * A // combinator - it looks similar to ||, which is good, because > they both occupy the "1+" row in the table. This could be confused with || if a spec uses an italic font style. Greetings Dirk > > * A way of indicating that something is "required", which means the > term inside can't disappear to nothingness. I thought of using ! as a > counterpoint to ?, like "[A? B?]!". fantasai indicated that she > doesn't like this, because it looks like a multiplier. > > One wrinkle is that a combinator is not compatible with > comma-separation (or in general, any non-whitespace separator), which > makes it complicated to use with several of the things that we already > know we want to use it on, like image() and <picture>'s "sizes" > attribute. zcorpan suggested that we could amend the existing > multi-choice combinators to allow a comma between the two characters, > to indicate that the choices are comma-separated, like "A |,| B |,| C" > allowing "A" or "A, C", or "C, A, B", etc. > > Related to this wrinkle, the existing syntax for "0+, in order", which > is "A? B?", also isn't compatible with non-ws separators - you need a > comma if you include both, but not if you omit either. I think we can > solve this without any new syntax, by just declaring that commas in > the grammar always get omitted if they're not separating anything. I > think this would let us simplify a few grammars as well, where we're > currently required to do some complicated fiddling with brackets due > to the presence of commas. > > ~TJ >
Received on Thursday, 24 April 2014 06:54:41 UTC