[css3-page] Change the @page grammar to be LL(k)
authorSimon Sapin <simon.sapin@exyr.org>
Mon, 11 Feb 2013 17:08:40 -0800
changeset 74399d57f98d774f
parent 7438 b0f8f2a00292
child 7440 b2d87226b3e3
[css3-page] Change the @page grammar to be LL(k)
css3-page/Overview.html
css3-page/Overview.src.html
     1.1 --- a/css3-page/Overview.html	Mon Feb 11 17:03:42 2013 -0800
     1.2 +++ b/css3-page/Overview.html	Mon Feb 11 17:08:40 2013 -0800
     1.3 @@ -975,11 +975,18 @@
     1.4       MEDIA_SYM S* medium [ COMMA S* medium ]* LBRACE S* [ page | ruleset ]* '}' S*
     1.5       ;
     1.6  
     1.7 -<a
     1.8 -    href="#page" id=syntax-prod-page>page</a> :
     1.9 +<span
    1.10 +    id=syntax-prod-page title="">page</span> :
    1.11       PAGE_SYM S* [ page_selector S* [ ',' page_selector S* ]* ]?
    1.12 -     '{' S* [ [ declaration? ';' S* ] | page_margin_box ]* [ declaration ]? '}'  S*
    1.13 +     '{' S* page_body '}' S*
    1.14       ;
    1.15 +
    1.16 +<span
    1.17 +    id=syntax-prod-page-body>page_body</span> :  /* Can be empty */
    1.18 +     declaration? [ ';' S* page_body ]? |
    1.19 +     page_margin_box page_body
    1.20 +     ;
    1.21 +
    1.22  <span
    1.23      id=syntax-prod-page-selector>page_selector</span> :
    1.24       pseudo_page | IDENT pseudo_page?
     2.1 --- a/css3-page/Overview.src.html	Mon Feb 11 17:03:42 2013 -0800
     2.2 +++ b/css3-page/Overview.src.html	Mon Feb 11 17:08:40 2013 -0800
     2.3 @@ -683,10 +683,16 @@
     2.4       MEDIA_SYM S* medium [ COMMA S* medium ]* LBRACE S* [ page | ruleset ]* '}' S*
     2.5       ;
     2.6  
     2.7 -<span id="syntax-prod-page">page</span> :
     2.8 +<span id="syntax-prod-page" title="">page</span> :
     2.9       PAGE_SYM S* [ page_selector S* [ ',' page_selector S* ]* ]?
    2.10 -     '{' S* [ [ declaration? ';' S* ] | page_margin_box ]* [ declaration ]? '}'  S*
    2.11 +     '{' S* page_body '}' S*
    2.12       ;
    2.13 +
    2.14 +<span id="syntax-prod-page-body">page_body</span> :  /* Can be empty */
    2.15 +     declaration? [ ';' S* page_body ]? |
    2.16 +     page_margin_box page_body
    2.17 +     ;
    2.18 +
    2.19  <span id="syntax-prod-page-selector">page_selector</span> :
    2.20       pseudo_page | IDENT pseudo_page?
    2.21       ;