Re: [csswg-drafts] [css-values] Stacked modifiers in definitions (#6085)

As commented above, *currently the [spec](https://drafts.csswg.org/css-values-4/#component-multipliers) only says that multipliers can follow "type, keyword, or bracketed group"*. The two following productions includes a delimiter followed by a multiplier:

- [`<an+b>`](https://drafts.csswg.org/css-syntax-3/#anb-production)
- [`<mf-lt>` and `<mf-gt>`](https://drafts.csswg.org/mediaqueries-5/#typedef-mf-lt)

Can it be assumed that a multiplier can follow a bracketed group or any "symbol" representing a token, except functions and simple blocks? There is currently no production that use a function or a simple block followed by a multiplier. 

The representation of *non-keyword literal characters*, functions, and simple blocks, in a CSS value definition syntax, is not further/clearly defined.

This was a bit off topic so please tell me if I should create a new issue.

Regarding `+#`:

> These stacks each represent the later multiplier applied to the result of the earlier multiplier. (These same stacks can be represented using grouping

I believe that your intent is clearly defined with the second part, and that matching `a a, a` against `a+#` must result to 2 "top-level" occurrences, not 3. But I'm confused by the first part.

I interpret it as *repeated one or more times, separated by whitespace - which may be optional - or comma*. Note that it can also be interpreted as meaning *xor*, eg. `a a, a` or `a, a a` would not match `a+#`, that is, *either whitespace or comma separated, depending on the first separator that is used*.

Regarding `+#?`: it is still not defined as being allowed.

```diff
- It may optionally be followed by the curly brace forms, above, to indicate precisely how many times the repetition occurs, like <length>#{1,4}.
+ It may optionally be followed by question mark (`?`), or the curly brace forms, above, to indicate precisely how many times the repetition occurs, like <length>#{1,4}.

-- 
GitHub Notification of comment by cdoublev
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/6085#issuecomment-1077395273 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Thursday, 24 March 2022 09:06:03 UTC