W3C home > Mailing lists > Public > ietf-http-wg@w3.org > April to June 2009

RE: Collected ABNF for HTTPbis

From: Brian Smith <brian@briansmith.org>
Date: Sun, 17 May 2009 21:20:27 -0500
To: "'Bjoern Hoehrmann'" <derhoermi@gmx.net>, "'Brian Smith'" <brian@briansmith.org>
Cc: <ietf-http-wg@w3.org>
Message-ID: <000901c9d75f$3a3b9ca0$aeb2d5e0$@org>
Bjoern Hoehrmann wrote:
> Brian Smith wrote:
> >As Julian said before, the collected ABNF exists in order to desugar
> > the "#X" ABNF extension into true ABNF syntax. AFAICT, that isn't
> > necessary since ABNF processing tools seem to handle the extension
> > anyway. But, also, the "#X" extension is not really a huge
> > readability advantage. Every usage of "#X" is easily replaced with
> > X (COMMA-ows X)* where COMMA-ows is just "OWS COMMA OWS". That
> > doesn't justify the extra complication. Just desugar all
> > the inline productions, remove the #X extension, remove the collected
> > ABNF.
> 
> As for the suggestions above, the expansion you give is incorrect as
> it fails to account for empty items in lists

There are only four places that allow empty lists, and they are all of the
same form as "TE":

     TE        = "TE" ":" OWS TE-v
     TE-v      = #t-codings

They all can be rewritten using that expansion:
     
     TE        = "TE" ":" OWS [TE-v]
     TE-v      = t-codings (COMMA-ows t-codings)*

Every other use is of the form 1#rule.

> and there is little evidence of widespread support for the
> list syntax, for example, Chris Newman's abnf.c, bap, abnfgen, and my
> own Parse::ABNF Perl module do not support it out of the box.

All the more reason to get rid of it.

Regards,
Brian
Received on Monday, 18 May 2009 02:21:12 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Friday, 27 April 2012 06:51:03 GMT