Re: ABNF sets and sequences
Robert Elz <kre@munnari.OZ.AU> Mon, 10 July 2000 04:44 UTC
Received: from cs.utk.edu (CS.UTK.EDU [128.169.94.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id AAA16305 for <drums-archive@odin.ietf.org>; Mon, 10 Jul 2000 00:44:11 -0400 (EDT)
Received: from localhost (daemon@localhost) by cs.utk.edu with SMTP (cf v2.9s-UTK) id AAA22740; Mon, 10 Jul 2000 00:43:58 -0400 (EDT)
Received: by cs.utk.edu (bulk_mailer v1.13); Mon, 10 Jul 2000 00:43:57 -0400
Received: from astro.cs.utk.edu (marvin@localhost) by cs.utk.edu with ESMTP (cf v2.9s-UTK) id AAA22725; Mon, 10 Jul 2000 00:43:57 -0400 (EDT)
Received: from astro.cs.utk.edu (128.169.93.168 -> ASTRO.CS.UTK.EDU) by cs.utk.edu (smtpshim v1.0); Mon, 10 Jul 2000 00:43:57 -0400
Received: (from moore@localhost) by astro.cs.utk.edu (cf 8.9.3) id AAA05659 for dist-drums@cs.utk.edu; Mon, 10 Jul 2000 00:43:56 -0400 (EDT)
Received: from munnari.OZ.AU (marvin@localhost) by cs.utk.edu with SMTP (cf v2.9s-UTK) id XAA19035; Sun, 9 Jul 2000 23:47:19 -0400 (EDT)
Received: from munnari.OZ.AU (128.250.1.21 -> munnari.OZ.AU) by cs.utk.edu (smtpshim v1.0); Sun, 9 Jul 2000 23:47:20 -0400
Received: from mundamutti.cs.mu.OZ.AU ([128.250.1.5]) by munnari.OZ.AU with SMTP (5.83--+1.3.1+0.59) id DA26734; Mon, 10 Jul 2000 13:47:03 +1000 (from kre@munnari.OZ.AU)
From: Robert Elz <kre@munnari.OZ.AU>
To: Dave Crocker <dcrocker@brandenburg.com>
Cc: drums@cs.utk.edu
Subject: Re: ABNF sets and sequences
In-Reply-To: Your message of "Mon, 10 Jul 2000 11:42:21 +0900." <4.3.2.20000709223011.00bfebf0@mail.bayarea.net>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Date: Mon, 10 Jul 2000 13:47:03 +1000
Message-Id: <11773.963200823@mundamutti.cs.mu.OZ.AU>
List-Unsubscribe: <mailto:drums-request@cs.utk.edu?Subject=unsubscribe>
Date: Mon, 10 Jul 2000 11:42:21 +0900 From: Dave Crocker <dcrocker@brandenburg.com> Message-ID: <4.3.2.20000709223011.00bfebf0@mail.bayarea.net> | The working group felt it was worth adding earlier. We just couldn't | figure out how. I now believe that was because we tied it to alternation | (a / b) rather than concatenation (a b) and repetition, where it belongs. I'm not sure that makes much of a difference, ABNF is recursive, everything includes everything else. One possibility for an alternation is a single concatenation, and a concatenation can be a single repetition, which can be just an unadorned element, which can be a group, which is just an alternation inside parentheses. | In any event, the point you raise reduces to whether the community thinks | it is useful to have the construct in ABNF. I do; you don't. Others will | decide. I think it might be useful if it can be fully defined, and demonstrated. | Let's get specific about how the construct probably should be used: | > per-message-fields = | | SET ( | | > [ original-envelope-id-field CRLF ] | > reporting-mta-field CRLF | > [ dsn-gateway-field CRLF ] | > [ received-from-mta-field CRLF ] | > [ arrival-date-field CRLF ] | > *( extension-field CRLF ) | | ) Which looks fine, until someone reads it and says "see, all the extension fields included need to be adjacent to each other" as the SET construct only affects the objects directly in the group, not those one level further down. To avoid this, a more complex operator definition is needed for SET, or text is needed to explain that no, it is after all legal to have an extension field, then one of the defined fields, and then another extension field. | and in draft-ietf-drums-msg-fmt-07.txt: | | >name-val-list = [CFWS] [name-val-pair *(CFWS name-val-pair)] | | becomes | | >name-val-list = [CFWS] SET [name-val-pair *(CFWS name-val-pair)] Which makes exactly what difference??? I think Keith's point was that as written, name-val-list already allows the name-val-pairs to occur in any order (because which particular name-val-pair is the first, and which is the second, isn't defined. | and | becomes something like: | | >fields = | | SET ( | > *(trace | > *(resent-date / | > resent-from / | > resent-sender / | > resent-to / | > resent-cc / | > resent-bcc / | > resent-id)) | ) This isn't achieving what you'd hope - it as it was without the SET will generate exactly the same as it does with the SET. There is no SET covering the resent-* headers included, they're just one element in the included concatenation. On the other hand, the *( / / /) allows the elements included to appear any number of times in any order. | SET ( | > *(orig-date / | > from / | > sender / | > reply-to / | > to / | > cc / | > bcc / | > message-id / | > in-reply-to / | > references / | > subject / | > comments / | > keywords / | > optional-field) | ) Again there, the SET adds nothing, the fields can already occur any number of times in any order. The problem that Pete's current grammar has, if it has one, is that it doesn't include "Only one From:" header, it allows any number of the things (and all those other headers as well). If you remove the *() from that, and include [ ] around all the elements that are optional, yu get closer to what you intended, but even that doesn't correctly allow the relationship between From and Sender to be included, nor the "must have one destination field" (though I forget if we decided to keep that rule - but for ABNF purposes, assume we did). And since "optional-field" would need to become *optional-field rather than [optional-field] you get back to the same problem that all the optional-fields that are included would have to be adjacent. | Anyhow, folks, I would appreciate some technical feedback on this. The | philosophical line of debate is probably played out. If you want a proper technical debate I think we'd need a proper technical specification to review. As it is now, philosophy is about all that can be debated, there aren't enough details for anything else. kre
- ABNF sets and sequences Dave Crocker
- Re: ABNF sets and sequences Robert Elz
- Re: ABNF sets and sequences Keith Moore
- Re: ABNF sets and sequences Pete Resnick
- Re: ABNF sets and sequences Keith Moore
- Re: ABNF sets and sequences Pete Resnick
- Re: ABNF sets and sequences Keith Moore
- Re: ABNF sets and sequences Dave Crocker
- Re: ABNF sets and sequences Dave Crocker
- Re: ABNF sets and sequences Keith Moore
- Re: ABNF sets and sequences Dave Crocker
- Re: ABNF sets and sequences Philip Guenther
- Re: ABNF sets and sequences Keith Moore
- Re: ABNF sets and sequences Robert Elz
- Re: ABNF sets and sequences Robert Elz
- Re: ABNF sets and sequences shelness
- Re: ABNF sets and sequences Keith Moore
- Re: ABNF sets and sequences Graham Klyne
- Re: ABNF sets and sequences Chris Newman
- Re: ABNF sets and sequences Robert Elz
- Re: ABNF sets and sequences Dave Crocker
- Re: ABNF sets and sequences Nick_Shelness
- Re: ABNF sets and sequences Robert Elz
- Re: ABNF sets and sequences Keith Moore
- Re: ABNF sets and sequences Nick_Shelness
- Re: ABNF sets and sequences Keith Moore
- Re: ABNF sets and sequences Nick_Shelness
- Re: ABNF sets and sequences Keith Moore
- Re: ABNF sets and sequences Nick_Shelness
- Re: ABNF sets and sequences Keith Moore
- Re: ABNF sets and sequences Nick_Shelness
- Re: ABNF sets and sequences Kai Henningsen
- Re: ABNF sets and sequences Kai Henningsen