Re: [css3-page] odd grammar for @page rules

On 06/12/2012 05:55 AM, Simon Sapin wrote:
> Le 12/06/2012 01:22, fantasai a écrit :
>> Changed to
>>
>> page :
>> PAGE_SYM S* IDENT? S* pseudo_page? S*
>> '{' S* [ [ declaration ';' S* ] | margin_box ]* [ declaration ]? '}' S*
>> ;
>> margin_box :
>> margin_sym S* '{' S* declaration? [ ';' S* declaration? ]* '}' S*
>> ;
>>
>> Let me know if that's correct.
>
> This is obviously better than using 'ruleset', but I’m not sure it is quite right. For example, this should be valid but does
> not match:
>
> { ; foo: bar ;;}
>
> Proposed change: add a single '?' after the first 'declaration':
>
> page :
> PAGE_SYM S* IDENT? S* pseudo_page? S*
> '{' S* [ [ declaration? ';' S* ] | margin_box ]*
> [ declaration ]? '}' S*
> ;

Fixed.

> Also, Werner Donné pointed out that the 'page' production is not LL(k) (with or without the above fix.) I don’t know if this
> is a requirement. Discussion starts here:
>
> http://lists.w3.org/Archives/Public/www-style/2012Apr/0620.html

Filed as ISSUE-263:
   https://www.w3.org/Style/CSS/Tracker/issues/263

I'm not enough of a grammar person to know what to do with that issue, though.

~fantasai

Received on Tuesday, 12 June 2012 22:50:57 UTC