Re: ABNF switch: list rules

* Julian Reschke wrote:
>Let's take an example, such as Accept-Charset:
>
>   Accept-Charset = "Accept-Charset" ":"
>           1#( ( charset | "*" ) [ ";" "q" "=" qvalue ] )
>
>(<http://greenbytes.de/tech/webdav/draft-ietf-httpbis-p3-payload-02.html#rfc.section.6.2>)
>
>A mechanical translation would yield:
>
>   Accept-Charset = "Accept-Charset" ":"
>                  ( *LWS ( charset / "*" ) [ ";q=" qvalue ]
>                 *( *LWS "," *LWS ( charset / "*" ) [ ";q=" qvalue ] ) )
>
>(hopefully).

There are several differences here in what values the two allow; you did
not call them out so I am not sure whether they are intentional. In par-
ticular these are valid under the old production but not under yours:

  Accept-Charset: utf-8,,*
  Accept-Charset: utf-8 ; q = ...

I'm not sure whether your new production should be read assuming implied
linear white space, if not there are a number of additional differences,
and if so, then the production is more complex than would be necessary.

It would certainly be wise to factor repeated productions out into sepa-
rate productions, yes.
-- 
Björn Höhrmann · mailto:bjoern@hoehrmann.de · http://bjoern.hoehrmann.de
Weinh. Str. 22 · Telefon: +49(0)621/4309674 · http://www.bjoernsworld.de
68309 Mannheim · PGP Pub. KeyID: 0xA4357E78 · http://www.websitedev.de/ 

Received on Thursday, 22 May 2008 13:24:31 UTC