Re: [apps-discuss] draft-yevstifeyev-abnf-separated-lists-02
"Thomson, Martin" <Martin.Thomson@andrew.com> Thu, 16 December 2010 22:03 UTC
Return-Path: <Martin.Thomson@andrew.com>
X-Original-To: apps-discuss@core3.amsl.com
Delivered-To: apps-discuss@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 3AA2B3A6953 for <apps-discuss@core3.amsl.com>; Thu, 16 Dec 2010 14:03:28 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.415
X-Spam-Level:
X-Spam-Status: No, score=-1.415 tagged_above=-999 required=5 tests=[AWL=-1.116, BAYES_00=-2.599, MANGLED_OFF=2.3]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4xF7nmK5vMj1 for <apps-discuss@core3.amsl.com>; Thu, 16 Dec 2010 14:03:26 -0800 (PST)
Received: from csmailgw1.commscope.com (csmailgw1.commscope.com [198.135.207.244]) by core3.amsl.com (Postfix) with ESMTP id ABDB03A691D for <apps-discuss@ietf.org>; Thu, 16 Dec 2010 14:03:26 -0800 (PST)
Received: from [10.86.20.103] ([10.86.20.103]:57699 "EHLO ACDCE7HC2.commscope.com") by csmailgw1.commscope.com with ESMTP id S40293172Ab0LPWFL (ORCPT <rfc822; apps-discuss@ietf.org>); Thu, 16 Dec 2010 16:05:11 -0600
Received: from SISPE7HC2.commscope.com (10.97.4.13) by ACDCE7HC2.commscope.com (10.86.20.103) with Microsoft SMTP Server (TLS) id 8.1.436.0; Thu, 16 Dec 2010 16:05:11 -0600
Received: from SISPE7MB1.commscope.com ([fe80::9d82:a492:85e3:a293]) by SISPE7HC2.commscope.com ([fe80::58c3:2447:f977:57c3%10]) with mapi; Fri, 17 Dec 2010 06:05:08 +0800
From: "Thomson, Martin" <Martin.Thomson@andrew.com>
To: "dcrocker@bbiw.net" <dcrocker@bbiw.net>
Date: Fri, 17 Dec 2010 06:04:54 +0800
Thread-Topic: [apps-discuss] draft-yevstifeyev-abnf-separated-lists-02
Thread-Index: AcudSGAVNaWOOSLUQcS2sPx6C5Xr/AAIBPGA
Message-ID: <8B0A9FCBB9832F43971E38010638454F03F34FB125@SISPE7MB1.commscope.com>
References: <4D028FE0.20906@bbiw.net> <4D03A25E.9060709@dcrocker.net> <4D05EDB8.6090901@gmx.de> <8B0A9FCBB9832F43971E38010638454F03F34FAC7A@SISPE7MB1.commscope.com> <4D071CCB.5040509@gmx.de> <8B0A9FCBB9832F43971E38010638454F03F34FAE12@SISPE7MB1.commscope.com> <4D0A39C0.2070308@gmail.com> <4D0A4F0E.7090604@dcrocker.net>
In-Reply-To: <4D0A4F0E.7090604@dcrocker.net>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-BCN: Meridius 1000 Version 3.4 on csmailgw1.commscope.com
X-BCN-Sender: Martin.Thomson@andrew.com
Cc: "apps-discuss@ietf.org" <apps-discuss@ietf.org>, Paul Overell <paul@bayleaf.org.uk>
Subject: Re: [apps-discuss] draft-yevstifeyev-abnf-separated-lists-02
X-BeenThere: apps-discuss@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: General discussion of application-layer protocols <apps-discuss.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/apps-discuss>, <mailto:apps-discuss-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/apps-discuss>
List-Post: <mailto:apps-discuss@ietf.org>
List-Help: <mailto:apps-discuss-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/apps-discuss>, <mailto:apps-discuss-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 16 Dec 2010 22:03:28 -0000
+1 to the rest of this. Other stuff below. On 2010-12-17 at 04:40:30, Dave CROCKER wrote: > Note: We still do not have statements of support for standardizing a > mechanism, > in spite of the continued activity on this thread. So far, this is a > fun > exercise, but that's all. +1. I'm still open to being convinced though. The HTTP-specific extensions to ABNF are a bit of an irritant, as are other such specification-specific extensions. As it stands, the draft is not enough to convince me. > { There are many different list forms; the one given here builds in > certain > assumptions that do not always apply. /d } > > > > (*LWS element n*m(*LWS separator *LWS element)) In fact, using more prescriptive prose and specific examples is probably better. Explain in prose, then provide a few actual examples, with examples of the syntax that conforms to these grammars as well. The style of RFC 5234 is a good guide; I don't like the fact that this draft strays so far from that. The entire draft might be summarized so much more succinctly and clearly in this fashion: --8<-- 3.11 Separated list: n*m#s rule A hash following a repetition indicates a separator that appears between each of the multiple instances of the element. Any variable or specific repetition can be followed by a separator. The full form is: <a>*<b>#<separator>element Where <separator> is any valid element - including grouped elements - followed by optional whitespace. A rule of the form: 4*7#"," foo is equivalent to: foo 3*6("," foo) Similarly, a rule of the form: *#[*WSP ";" *WSP] foo is equivalent to: [foo *([*WSP ";" *WSP] foo)] 4.1 ABNF Definition of ABNF The <repeat> rule is extended from that in [RFC5234] from: repeat = 1*DIGIT / (*DIGIT "*" *DIGIT) to: repeat = 1*DIGIT / (*DIGIT "*" *DIGIT) [ "#" element *c-wsp ] -->8-- { I missed the optional c-wsp in my previous comments - that's necessary to separate the two consecutive <rulename> constructs in a repetition. For instance: example = 3*10#comma list-item } > In reviewing the way Section 3 of RFC 5234 specifies things, I believe > that the > specification, here needs to be made without the square brackets and > without the > parentheses. (I think someone earlier commented about the parens.) That was probably me. You are correct. Based on this, the grammar should be as above. > > indicating exactly <n> elements separated by <a>. > > > > The ABNF for this construction is: > > > > n*m#(a)(element) = (n_1*m_1(element 1*SP a) f(element)) > > n*m#a element) = (n_1*m_1(element 1*SP a) f(element)) All this n_1, m_1 and f stuff is confusing and unnecessary. It relies on what amounts to another modification to the grammar. The definition of <f> still doesn't make sense. u-(u-1) is 1, always. > > 1*3#(";")element indicates the list of elements separated by > > Question to the audience: are the parentheses needed here? The > quotation marks > would seem to provide sufficient lexical uniqueness, but this is the > sort of > nuance I usually get wrong. Parentheses are not required here - if we assume that the separator grammar conforms to <element>. They would be permitted, but the draft still does not describe the grammar for the separator. --Martin
- [apps-discuss] Review of: draft-yevstifeyev-abnf-… Dave CROCKER
- Re: [apps-discuss] Review of: draft-yevstifeyev-a… Mykyta Yevstifeyev
- Re: [apps-discuss] Review of: draft-yevstifeyev-a… Julian Reschke
- Re: [apps-discuss] Review of: draft-yevstifeyev-a… Dave CROCKER
- Re: [apps-discuss] Review of: draft-yevstifeyev-a… Dave CROCKER
- Re: [apps-discuss] Review of: draft-yevstifeyev-a… Thomson, Martin
- Re: [apps-discuss] Review of: draft-yevstifeyev-a… Julian Reschke
- Re: [apps-discuss] Review of: draft-yevstifeyev-a… Thomson, Martin
- Re: [apps-discuss] Review of: draft-yevstifeyev-a… Julian Reschke
- Re: [apps-discuss] Review of: draft-yevstifeyev-a… Thomson, Martin
- Re: [apps-discuss] draft-yevstifeyev-abnf-separat… Mykyta Yevstifeyev
- Re: [apps-discuss] draft-yevstifeyev-abnf-separat… Dave CROCKER
- Re: [apps-discuss] draft-yevstifeyev-abnf-separat… Julian Reschke
- Re: [apps-discuss] draft-yevstifeyev-abnf-separat… Thomson, Martin
- Re: [apps-discuss] draft-yevstifeyev-abnf-separat… Dave CROCKER
- Re: [apps-discuss] draft-yevstifeyev-abnf-separat… Paul Overell