Tue, 09 Oct 2012 14:14:55 -0700
[css3-conditional] Allow no spaces between @supports and the following supports condition.
css3-conditional/Overview.html | file | annotate | diff | comparison | revisions | |
css3-conditional/Overview.src.html | file | annotate | diff | comparison | revisions |
1.1 --- a/css3-conditional/Overview.html Tue Oct 09 13:59:51 2012 -0700 1.2 +++ b/css3-conditional/Overview.html Tue Oct 09 14:14:55 2012 -0700 1.3 @@ -7,16 +7,17 @@ 1.4 <meta content="text/html; charset=utf-8" http-equiv=Content-Type> 1.5 <title>CSS Conditional Rules Module Level 3</title> 1.6 1.7 - <link href="http://purl.org/dc/terms/" rel=schema.DC> 1.8 - <meta content="CSS Conditional Rules Module Level 3" name=DC.title> 1.9 - <meta content=text name=DC.type> 1.10 - <meta content=2012-09-25 name=DC.issued> 1.11 - <meta content="http://dev.w3.org/csswg/css3-conditional/" name=DC.creator> 1.12 - <meta content=W3C name=DC.publisher> 1.13 - <meta content="http://www.w3.org/TR/2012/ED-css3-conditional-20120925/" 1.14 - name=DC.identifier> 1.15 + <link href="http://purl.org/dc/terms/" rel=schema.dcterms> 1.16 <link href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright" 1.17 - rel=DC.rights> 1.18 + rel=dcterms.rights> 1.19 + <meta content="CSS Conditional Rules Module Level 3" name=dcterms.title> 1.20 + <meta content=text name=dcterms.type> 1.21 + <meta content=2012-10-09 name=dcterms.issued> 1.22 + <meta content="http://dev.w3.org/csswg/css3-conditional/" 1.23 + name=dcterms.creator> 1.24 + <meta content=W3C name=dcterms.publisher> 1.25 + <meta content="http://www.w3.org/TR/2012/ED-css3-conditional-20121009/" 1.26 + name=dcterms.identifier> 1.27 <link href="../default.css" rel=stylesheet type="text/css"> 1.28 <link href="http://www.w3.org/StyleSheets/TR/W3C-ED.css" rel=stylesheet 1.29 type="text/css"> 1.30 @@ -28,14 +29,13 @@ 1.31 1.32 <h1>CSS Conditional Rules Module Level 3</h1> 1.33 1.34 - <h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 25 September 1.35 - 2012</h2> 1.36 + <h2 class="no-num no-toc" id=longstatus-date>Editor's Draft 9 October 2012</h2> 1.37 1.38 <dl> 1.39 <dt>This version: 1.40 1.41 - <dd><a href="http://www.w3.org/TR/2012/ED-css3-conditional-20120925/"> 1.42 - http://www.w3.org/TR/2012/ED-css3-conditional-20120925/</a> 1.43 + <dd><a href="http://www.w3.org/TR/2012/ED-css3-conditional-20121009/"> 1.44 + http://www.w3.org/TR/2012/ED-css3-conditional-20121009/</a> 1.45 1.46 <dt>Latest version: 1.47 1.48 @@ -105,9 +105,9 @@ 1.49 rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a>, which builds on CSS level 1 1.50 <a href="#CSS1" rel=biblioentry>[CSS1]<!--{{CSS1}}--></a>. The main 1.51 extensions compared to level 2 are allowing nesting of certain at-rules 1.52 - inside ‘<code class=css>@media</code>’, the addition of the ‘<a 1.53 - href="#dfn-support"><code class=css>@supports</code></a>’ and ‘<code 1.54 - class=css>@document</code>’ rules for conditional processing. 1.55 + inside ‘<code class=css>@media</code>’, the addition of the ‘<code 1.56 + class=css>@supports</code>’ and ‘<code class=css>@document</code>’ 1.57 + rules for conditional processing. 1.58 1.59 <h2 class="no-num no-toc" id=status>Status of this document</h2> 1.60 <!--begin-status--> 1.61 @@ -159,10 +159,9 @@ 1.62 be removed to advance the other features in this specification to 1.63 Proposed Recommendation. 1.64 1.65 - <li>The ‘<a href="#dfn-support"><code class=css>@supports</code></a>’ 1.66 - rule is at risk; if interoperable implementations are not found, it may 1.67 - be removed to advance the other features in this specification to 1.68 - Proposed Recommendation. 1.69 + <li>The ‘<code class=css>@supports</code>’ rule is at risk; if 1.70 + interoperable implementations are not found, it may be removed to advance 1.71 + the other features in this specification to Proposed Recommendation. 1.72 1.73 <li>The ‘<code class=css>@document</code>’ rule is at risk; if 1.74 interoperable implementations are not found, it may be removed to advance 1.75 @@ -289,17 +288,16 @@ 1.76 single style sheet. 1.77 1.78 <p>This specification also defines additional types of conditional group 1.79 - rules, ‘<a href="#dfn-support"><code class=css>@supports</code></a>’ 1.80 - and ‘<code class=css>@document</code>’, to address author and user 1.81 - requirements. 1.82 + rules, ‘<code class=css>@supports</code>’ and ‘<code 1.83 + class=css>@document</code>’, to address author and user requirements. 1.84 1.85 - <p>The ‘<a href="#dfn-support"><code class=css>@supports</code></a>’ 1.86 - rule allows CSS to be conditioned on implementation support for CSS 1.87 - properties and values. This rule makes it much easier for authors to use 1.88 - new CSS features and provide good fallback for implementations that do not 1.89 - support those features. This is particularly important for CSS features 1.90 - that provide new layout mechanisms, and for other cases where a set of 1.91 - related styles needs to be conditioned on property support. 1.92 + <p>The ‘<code class=css>@supports</code>’ rule allows CSS to be 1.93 + conditioned on implementation support for CSS properties and values. This 1.94 + rule makes it much easier for authors to use new CSS features and provide 1.95 + good fallback for implementations that do not support those features. This 1.96 + is particularly important for CSS features that provide new layout 1.97 + mechanisms, and for other cases where a set of related styles needs to be 1.98 + conditioned on property support. 1.99 1.100 <p>The ‘<code class=css>@document</code>’ rule allows CSS to be 1.101 conditioned on the page to which the style sheet is being applied. This 1.102 @@ -457,8 +455,9 @@ 1.103 rel=biblioentry>[CSS3-FONTS]<!--{{!CSS3-FONTS}}--></a>, 1.104 <code>keyframes_rule</code> defined in <a href="#CSS3-ANIMATIONS" 1.105 rel=biblioentry>[CSS3-ANIMATIONS]<!--{{!CSS3-ANIMATIONS}}--></a>, and 1.106 - <code>media</code>, <a href="#supportsrule"><code>supports_rule</code></a> 1.107 - and <code>document_rule</code> defined in this specification. 1.108 + <code>media</code>, <a 1.109 + href="#supports_rule"><code>supports_rule</code></a> and 1.110 + <code>document_rule</code> defined in this specification. 1.111 1.112 <p>In general, future CSS specifications that add new @-rules that are not 1.113 forbidden to occur after some other types of rules should modify this 1.114 @@ -495,10 +494,10 @@ 1.115 <h2 id=at-media><span class=secno>5. </span>Media-specific style sheets: 1.116 the ‘<code class=css>@media</code>’ rule</h2> 1.117 1.118 - <p>The <dfn id=media-rule>‘<code class=css>@media</code>’ rule</dfn> is 1.119 - a conditional group rule whose condition is a media query. It consists of 1.120 - the at-keyword ‘<code class=css>@media</code>’ followed by a (possibly 1.121 - empty) media query (as defined in <a href="#MEDIAQ" 1.122 + <p>The <dfn id=atmedia-rule>‘<code class=css>@media</code>’ rule</dfn> 1.123 + is a conditional group rule whose condition is a media query. It consists 1.124 + of the at-keyword ‘<code class=css>@media</code>’ followed by a 1.125 + (possibly empty) media query (as defined in <a href="#MEDIAQ" 1.126 rel=biblioentry>[MEDIAQ]<!--{{!MEDIAQ}}--></a>), followed by a group rule 1.127 body. The condition of the rule is the result of the media query. 1.128 1.129 @@ -533,10 +532,10 @@ 1.130 href="http://www.w3.org/TR/CSS21/grammar.html">Grammar of CSS 2.1</a> (<a 1.131 href="#CSS21" rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a>, Appendix G). 1.132 1.133 - <h2 id=at-supports><span class=secno>6. </span>Feature queries: the ‘<a 1.134 - href="#dfn-support"><code class=css>@supports</code></a>’ rule</h2> 1.135 + <h2 id=at-supports><span class=secno>6. </span>Feature queries: the 1.136 + ‘<code class=css>@supports</code>’ rule</h2> 1.137 1.138 - <p>The <dfn id=supports-rule>‘<code class=css>@supports</code>’ 1.139 + <p>The <dfn id=atsupports-rule>‘<code class=css>@supports</code>’ 1.140 rule</dfn> is a conditional group rule whose condition tests whether the 1.141 user agent supports CSS property:value pairs. Authors can use it to write 1.142 style sheets that use new features when available but degrade gracefully 1.143 @@ -546,10 +545,10 @@ 1.144 tied to the support for certain features, as is the case for use of new 1.145 layout system features. 1.146 1.147 - <p>The syntax of the condition in the ‘<a href="#dfn-support"><code 1.148 - class=css>@supports</code></a>’ rule is slightly more complicated than 1.149 - for the other conditional group rules (though has some similarities to 1.150 - media queries) since: 1.151 + <p>The syntax of the condition in the ‘<code 1.152 + class=css>@supports</code>’ rule is slightly more complicated than for 1.153 + the other conditional group rules (though has some similarities to media 1.154 + queries) since: 1.155 1.156 <ul> 1.157 <li>negation is needed so that the new-feature styles and the fallback 1.158 @@ -564,10 +563,9 @@ 1.159 alternatives are vendor-prefixed properties or values 1.160 </ul> 1.161 1.162 - <p>Therefore, the syntax of the ‘<a href="#dfn-support"><code 1.163 - class=css>@supports</code></a>’ rule allows testing for property:value 1.164 - pairs, and arbitrary conjunctions (and), disjunctions (or), and negations 1.165 - (not) of them. 1.166 + <p>Therefore, the syntax of the ‘<code class=css>@supports</code>’ rule 1.167 + allows testing for property:value pairs, and arbitrary conjunctions (and), 1.168 + disjunctions (or), and negations (not) of them. 1.169 1.170 <p>This extends the lexical scanner in the <a 1.171 href="http://www.w3.org/TR/CSS21/grammar.html">Grammar of CSS 2.1</a> (<a 1.172 @@ -578,38 +576,38 @@ 1.173 1.174 <p>and the grammar by adding 1.175 1.176 - <pre><dfn id=supportsrule>supports_rule</dfn> 1.177 - : SUPPORTS_SYM S+ supports_condition group_rule_body 1.178 + <pre><dfn id="supports_rule">supports_rule</dfn> 1.179 + : SUPPORTS_SYM S* supports_condition group_rule_body 1.180 ; 1.181 1.182 <dfn 1.183 - id=supportscondition>supports_condition</dfn> 1.184 + id="supports_condition">supports_condition</dfn> 1.185 : supports_negation | supports_conjunction | supports_disjunction | 1.186 supports_condition_in_parens 1.187 ; 1.188 1.189 <dfn 1.190 - id=supportsconditioninparens>supports_condition_in_parens</dfn> 1.191 + id="supports_condition_in_parens">supports_condition_in_parens</dfn> 1.192 : ( '(' S* supports_condition ')' S* ) | supports_declaration_condition 1.193 ; 1.194 1.195 <dfn 1.196 - id=supportsnegation>supports_negation</dfn> 1.197 + id="supports_negation">supports_negation</dfn> 1.198 : 'not' S* supports_condition_in_parens 1.199 ; 1.200 1.201 <dfn 1.202 - id=supportsconjunction>supports_conjunction</dfn> 1.203 + id="supports_conjunction">supports_conjunction</dfn> 1.204 : supports_condition_in_parens ( 'and' S* supports_condition_in_parens )+ 1.205 ; 1.206 1.207 <dfn 1.208 - id=supportsdisjunction>supports_disjunction</dfn> 1.209 + id="supports_disjunction">supports_disjunction</dfn> 1.210 : supports_condition_in_parens ( 'or' S* supports_condition_in_parens )+ 1.211 ; 1.212 1.213 <dfn 1.214 - id=supportsdeclarationcondition>supports_declaration_condition</dfn> 1.215 + id="supports_declaration_condition">supports_declaration_condition</dfn> 1.216 : '(' S* core_declaration ')' S* 1.217 ;</pre> 1.218 1.219 @@ -619,24 +617,23 @@ 1.220 (Tokenization)</a> of <a href="#CSS21" 1.221 rel=biblioentry>[CSS21]<!--{{!CSS21}}--></a>. 1.222 1.223 - <p>Any ‘<a href="#dfn-support"><code class=css>@supports</code></a>’ 1.224 - rule that does not parse according to the grammar above is invalid. Style 1.225 - sheets <strong>must not</strong> use such a rule and processors 1.226 - <strong>must</strong> ignore such a rule. 1.227 + <p>Any ‘<code class=css>@supports</code>’ rule that does not parse 1.228 + according to the grammar above is invalid. Style sheets <strong>must 1.229 + not</strong> use such a rule and processors <strong>must</strong> ignore 1.230 + such a rule. 1.231 1.232 <p class=note>Note that this means that declarations that meet the 1.233 forward-compatible syntax for declarations are permitted (and support for 1.234 - them is then tested by the ‘<a href="#dfn-support"><code 1.235 - class=css>@supports</code></a>’ rule), but declarations that do not meet 1.236 - the forward-compatible syntax for declarations cause the entire ‘<a 1.237 - href="#dfn-support"><code class=css>@supports</code></a>’ rule to be 1.238 - ignored. 1.239 + them is then tested by the ‘<code class=css>@supports</code>’ rule), 1.240 + but declarations that do not meet the forward-compatible syntax for 1.241 + declarations cause the entire ‘<code class=css>@supports</code>’ rule 1.242 + to be ignored. 1.243 1.244 <p class=issue>Is any further allowance for forward-compatible parsing 1.245 needed, for example, to allow additional features (such as, say, selector 1.246 - tests) to be added to the ‘<a href="#dfn-support"><code 1.247 - class=css>@supports</code></a>’ rule? Or are these forward-compatible 1.248 - parsing rules the best solution for such future expansion anyway? 1.249 + tests) to be added to the ‘<code class=css>@supports</code>’ rule? Or 1.250 + are these forward-compatible parsing rules the best solution for such 1.251 + future expansion anyway? 1.252 1.253 <p>Each of these grammar terms is associated with a boolean result, as 1.254 follows: 1.255 @@ -649,26 +646,26 @@ 1.256 <dt>supports_condition_in_parens 1.257 1.258 <dd> The result is the result of the single <a 1.259 - href="#supportscondition"><code>supports_condition</code></a> or <a 1.260 - href="#supportsdeclarationcondition"><code>supports_declaration_condition</code></a> 1.261 + href="#supports_condition"><code>supports_condition</code></a> or <a 1.262 + href="#supports_declaration_condition"><code>supports_declaration_condition</code></a> 1.263 child term. 1.264 1.265 <dt>supports_negation 1.266 1.267 <dd> The result is the <em>negation</em> of the result of the <a 1.268 - href="#supportsconditioninparens"><code>supports_condition_in_parens</code></a> 1.269 + href="#supports_condition_in_parens"><code>supports_condition_in_parens</code></a> 1.270 child term. 1.271 1.272 <dt>supports_conjunction 1.273 1.274 <dd> The result is true if the result of <em>all</em> of the <a 1.275 - href="#supportsconditioninparens"><code>supports_condition_in_parens</code></a> 1.276 + href="#supports_condition_in_parens"><code>supports_condition_in_parens</code></a> 1.277 child terms is true; otherwise it is false. 1.278 1.279 <dt>supports_disjunction 1.280 1.281 <dd> The result is true if the result of <em>any</em> of the <a 1.282 - href="#supportsconditioninparens"><code>supports_condition_in_parens</code></a> 1.283 + href="#supports_condition_in_parens"><code>supports_condition_in_parens</code></a> 1.284 child terms is true; otherwise it is false. 1.285 1.286 <dt>supports_declaration_condition 1.287 @@ -677,10 +674,10 @@ 1.288 href="#support-definition">supports</a> the declaration. 1.289 </dl> 1.290 1.291 - <p>The condition of the ‘<a href="#dfn-support"><code 1.292 - class=css>@supports</code></a>’ rule is the result of the <a 1.293 - href="#supportscondition"><code>supports_condition</code></a> term that is 1.294 - a child of the <a href="#supportsrule"><code>supports_rule</code></a> 1.295 + <p>The condition of the ‘<code class=css>@supports</code>’ rule is the 1.296 + result of the <a 1.297 + href="#supports_condition"><code>supports_condition</code></a> term that 1.298 + is a child of the <a href="#supports_rule"><code>supports_rule</code></a> 1.299 term. 1.300 1.301 <div class=example> 1.302 @@ -692,16 +689,16 @@ 1.303 #article { background: white; color: black; } 1.304 }</pre> 1.305 1.306 - <p>applies the rules inside the ‘<a href="#dfn-support"><code 1.307 - class=css>@supports</code></a>’ rule only when ‘<code 1.308 - class=css>display: flexbox</code>’ is supported. 1.309 + <p>applies the rules inside the ‘<code class=css>@supports</code>’ 1.310 + rule only when ‘<code class=css>display: flexbox</code>’ is 1.311 + supported. 1.312 </div> 1.313 1.314 <div class=example> 1.315 - <p>The following example shows an additional ‘<a 1.316 - href="#dfn-support"><code class=css>@supports</code></a>’ rule that can 1.317 - be used to provide an alternative for when ‘<code class=css>display: 1.318 - flexbox</code>’ is not supported: 1.319 + <p>The following example shows an additional ‘<code 1.320 + class=css>@supports</code>’ rule that can be used to provide an 1.321 + alternative for when ‘<code class=css>display: flexbox</code>’ is not 1.322 + supported: 1.323 1.324 <pre>@supports not ( display: flexbox ) { 1.325 body { width: 100%; height: 100%; background: white; color: black; } 1.326 @@ -838,17 +835,17 @@ 1.327 fallback (either in the <a href="#CSS1" 1.328 rel=biblioentry>[CSS1]<!--{{CSS1}}--></a> sense of declarations that are 1.329 overridden by later declarations or with the new capabilities provided by 1.330 - the ‘<a href="#dfn-support"><code class=css>@supports</code></a>’ rule 1.331 - in this specification) that works correctly for the features implemented. 1.332 - This applies especially to compound values; implementations must implement 1.333 - all parts of the value in order to consider the declaration supported, 1.334 - either inside a ruleset or in the declaration condition of an ‘<a 1.335 - href="#dfn-support"><code class=css>@supports</code></a>’ rule. 1.336 + the ‘<code class=css>@supports</code>’ rule in this specification) 1.337 + that works correctly for the features implemented. This applies especially 1.338 + to compound values; implementations must implement all parts of the value 1.339 + in order to consider the declaration supported, either inside a ruleset or 1.340 + in the declaration condition of an ‘<code class=css>@supports</code>’ 1.341 + rule. 1.342 1.343 <h2 id=at-document><span class=secno>7. </span>Document queries: the 1.344 ‘<code class=css>@document</code>’ rule</h2> 1.345 1.346 - <p>The <dfn id=document-rule>‘<code class=css>@document</code>’ 1.347 + <p>The <dfn id=atdocument-rule>‘<code class=css>@document</code>’ 1.348 rule</dfn> is a conditional group rule whose condition depends on the <a 1.349 href="#url-of-doc">URL of the document being styled</a>. This allows style 1.350 sheets, particularly user style sheets, to have styles that only apply to 1.351 @@ -1188,8 +1185,7 @@ 1.352 href="#csssupportsrule"><code>CSSSupportsRule</code></a> interface</h3> 1.353 1.354 <p>The <dfn id=csssupportsrule><code>CSSSupportsRule</code></dfn> interface 1.355 - represents a ‘<a href="#dfn-support"><code 1.356 - class=css>@supports</code></a>’ rule. 1.357 + represents a ‘<code class=css>@supports</code>’ rule. 1.358 1.359 <pre class=idl>interface CSSSupportsRule : CSSConditionRule { 1.360 }</pre> 1.361 @@ -1231,7 +1227,7 @@ 1.362 <p> When invoked with a single <var>conditionText</var> argument, it must 1.363 return <code>true</code> if <var>conditionText</var>, when parsed and 1.364 evaluated as a <a 1.365 - href="#supportscondition"><code>supports_condition</code></a>, would 1.366 + href="#supports_condition"><code>supports_condition</code></a>, would 1.367 return true. Otherwise, it must return <code>false</code>. 1.368 </dl> 1.369 1.370 @@ -1579,8 +1575,8 @@ 1.371 <li><a href="#csssupportsrule"><code>CSSSupportsRule</code></a>, <a 1.372 href="#csssupportsrule" title=CSSSupportsRule><strong>8.5.</strong></a> 1.373 1.374 - <li>‘<code class=css>@document</code>’ rule, <a href="#document-rule" 1.375 - title="'@document' rule"><strong>7.</strong></a> 1.376 + <li>‘<code class=css>@document</code>’ rule, <a 1.377 + href="#atdocument-rule" title="'@document' rule"><strong>7.</strong></a> 1.378 1.379 <li>domain(), <a href="#url-domain" 1.380 title="domain()"><strong>7.</strong></a> 1.381 @@ -1594,7 +1590,7 @@ 1.382 <li>group rule body, <a href="#group-rule-body" 1.383 title="group rule body"><strong>3.</strong></a> 1.384 1.385 - <li>‘<code class=css>@media</code>’ rule, <a href="#media-rule" 1.386 + <li>‘<code class=css>@media</code>’ rule, <a href="#atmedia-rule" 1.387 title="'@media' rule"><strong>5.</strong></a> 1.388 1.389 <li>regexp(), <a href="#url-regexp" 1.390 @@ -1603,30 +1599,29 @@ 1.391 <li>support, <a href="#dfn-support" 1.392 title=support><strong>6.1.</strong></a> 1.393 1.394 - <li>supports_condition, <a href="#supportscondition" 1.395 + <li>supports_condition, <a href="#supports_condition" 1.396 title="supports_condition"><strong>6.</strong></a> 1.397 1.398 - <li>supports_condition_in_parens, <a href="#supportsconditioninparens" 1.399 + <li>supports_condition_in_parens, <a href="#supports_condition_in_parens" 1.400 title="supports_condition_in_parens"><strong>6.</strong></a> 1.401 1.402 - <li>supports_conjunction, <a href="#supportsconjunction" 1.403 + <li>supports_conjunction, <a href="#supports_conjunction" 1.404 title="supports_conjunction"><strong>6.</strong></a> 1.405 1.406 <li>supports_declaration_condition, <a 1.407 - href="#supportsdeclarationcondition" 1.408 + href="#supports_declaration_condition" 1.409 title="supports_declaration_condition"><strong>6.</strong></a> 1.410 1.411 - <li>supports_disjunction, <a href="#supportsdisjunction" 1.412 + <li>supports_disjunction, <a href="#supports_disjunction" 1.413 title="supports_disjunction"><strong>6.</strong></a> 1.414 1.415 - <li>supports_negation, <a href="#supportsnegation" 1.416 + <li>supports_negation, <a href="#supports_negation" 1.417 title="supports_negation"><strong>6.</strong></a> 1.418 1.419 - <li>‘<a href="#dfn-support"><code class=css>@supports</code></a>’ 1.420 - rule, <a href="#supports-rule" 1.421 - title="'@supports' rule"><strong>6.</strong></a> 1.422 + <li>‘<code class=css>@supports</code>’ rule, <a 1.423 + href="#atsupports-rule" title="'@supports' rule"><strong>6.</strong></a> 1.424 1.425 - <li>supports_rule, <a href="#supportsrule" 1.426 + <li>supports_rule, <a href="#supports_rule" 1.427 title="supports_rule"><strong>6.</strong></a> 1.428 1.429 <li>url(), <a href="#url-exact" title="url()"><strong>7.</strong></a>
2.1 --- a/css3-conditional/Overview.src.html Tue Oct 09 13:59:51 2012 -0700 2.2 +++ b/css3-conditional/Overview.src.html Tue Oct 09 14:14:55 2012 -0700 2.3 @@ -371,7 +371,7 @@ 2.4 <pre>@{S}{U}{P}{P}{O}{R}{T}{S} {return SUPPORTS_SYM;}</pre> 2.5 <p>and the grammar by adding</p> 2.6 <pre><dfn>supports_rule</dfn> 2.7 - : SUPPORTS_SYM S+ supports_condition group_rule_body 2.8 + : SUPPORTS_SYM S* supports_condition group_rule_body 2.9 ; 2.10 2.11 <dfn>supports_condition</dfn>