- From: Shiki Okasaka <shiki.okasaka@gmail.com>
- Date: Fri, 30 Aug 2013 20:55:08 +0900
- To: Florian Rivoal <florian@rivoal.net>
- Cc: "L. David Baron" <dbaron@dbaron.org>, www-style@w3.org
On Wed, 10 Jul 2013 01:32:01 +0200, L. David Baron <dbaron@dbaron.org> wrote:
> media_query
> : [ONLY | NOT]? S+ media_type [ S+ AND S+ expression ]* S*
> | expression [ S+ AND S+ expression ]* S*
> ;
With this grammar, media_query needs to begin with at least one S if
neither ONLY nor NOT is used.
I guess what we are expecting would be like:
media_query
: [ ONLY S+ | NOT S+ ]? media_type [ S+ AND S+ expression ]* S*
| expression [ S+ AND S+ expression ]* S*
;
Right?
- Shiki
2013/7/11 Florian Rivoal <florian@rivoal.net>:
> On Wed, 10 Jul 2013 01:32:01 +0200, L. David Baron <dbaron@dbaron.org>
> wrote:
>
>> On Monday 2013-07-08 12:35 +0200, Florian Rivoal wrote:
>>>
>>> media_query
>>> : [ONLY | NOT]? S+ media_type S* [S AND S+ expression ]*
>>> | expression [ S AND S+ expression ]*
>>> ;
>>
>>
>> So you don't want occurrences of "S" without a * or a +, and I think
>> you also don't want to write the grammar such that you have to read
>> backwards (e.g., "S* S", which requires working backwards to figure
>> out which part of the whitespace matches the S*).
>>
>> So I think it would be better to write:
>>
>> media_query
>> : [ONLY | NOT]? S+ media_type [ S+ AND S+ expression ]* S*
>> | expression [ S+ AND S+ expression ]* S*
>> ;
>>
>> and then remove the trailing "S*" in expression so that it is:
>>
>> expression
>> : '(' S* media_feature S* [ ':' S* expr ]? ')'
>> ;
>
>
> Thanks, that does sound better indeed.
>
> - Florian
>
Received on Friday, 30 August 2013 11:55:36 UTC