Re: [apps-discuss] draft-yevstifeyev-abnf-separated-lists-02
Paul Overell <paul@bayleaf.org.uk> Sun, 19 December 2010 16:46 UTC
Return-Path: <paul@bayleaf.org.uk>
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 347203A6826 for <apps-discuss@core3.amsl.com>; Sun, 19 Dec 2010 08:46:41 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.539
X-Spam-Level:
X-Spam-Status: No, score=-0.539 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HELO_MISMATCH_UK=1.749, HOST_MISMATCH_NET=0.311]
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 prlUEBRDdrUK for <apps-discuss@core3.amsl.com>; Sun, 19 Dec 2010 08:46:40 -0800 (PST)
Received: from mail.o2.co.uk (sidious.london.02.net [82.132.130.152]) by core3.amsl.com (Postfix) with ESMTP id 1DD4B3A6823 for <apps-discuss@ietf.org>; Sun, 19 Dec 2010 08:46:40 -0800 (PST)
Received: from paul.bayleaf.org.uk (188.221.115.62) by mail.o2.co.uk (8.5.119.05) (authenticated as paul_overell) id 4D035EC301FCBE21 for apps-discuss@ietf.org; Sun, 19 Dec 2010 17:06:52 +0000
Message-ID: <gnq1D+KCcjDNFARg@paul.bayleaf.org.uk>
Date: Sun, 19 Dec 2010 16:46:58 +0000
To: apps-discuss@ietf.org
From: Paul Overell <paul@bayleaf.org.uk>
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> <4D0A8B14.6080803@gmx.de> <4D0BE8B6.2040507@dcrocker.net>
In-Reply-To: <4D0BE8B6.2040507@dcrocker.net>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
User-Agent: Turnpike/6.07-M (<1PLohZL5GCIk4mjZxNHp0TcHBS>)
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: Sun, 19 Dec 2010 16:49:42 -0000
In message <4D0BE8B6.2040507@dcrocker.net>, Dave CROCKER <dhc@dcrocker.net> writes Hi, A few comments on <draft-yevstifeyev-abnf-separated-lists-04> 1) > (*LWS element n*m(*LWS separator *LWS element)) > > It is obvious that this construction is too simplified and bulky. This is a subjective statement and does not belong in a formal specification. It does not make the case for this proposal. I do not understand what is "too simplified" in the above. Here is an ABNF example from RFC5322 > mailbox-list = (mailbox *("," mailbox)) / obs-mbox-list Here is the same with the proposed notation mailbox-list = 1*#(",")mailbox / obs-mbox-list Is it clearer? It it easier to understand? The proposed syntax may (slightly) reduce bulk, but by putting the "," before the mailbox I think it also reduces clarity. The original # list notation from RFC822 was dropped from RFC2234, AFAIR, because it was deemed to be too specialized and so easily replaced with the other constructs. 2) > The ABNF for this construction is: > > n*m#(a)(element) = (n_1*m_1(element 1*SP a) f(element)) > n#(a)(element) = (n_1(element 1*SP a) element) > n = *DIGIT ;the minimum amount of elements > m = *DIGIT ;the maximum amount of elements > n_1 = {n-1} > n_1 =/ *DIGIT > m_1 = {m-1} > m_1 =/ *DIGIT > u = <the number of used elements> > f = {u-(u-1)} > f =/ 1*DIGIT ;will be 0 if no elements are used > ;and 1 if at least one is used The above is *NOT* the ABNF of the proposed construct. Instead it tries to define the semantics in term of ABNF extended with {}, but I find it confusing and overly complex. Nor it is syntactically correct ABNF (illegal rulenames, <a> undefined). Instead, the formal syntax for the proposal should extend the existing RFC5234 syntax for a repetition using the =/ operator. The semantics should be specified in prose. Something like: repetition =/ [repeat] list-spec element list-spec = "#" separator separator = group >> >> Parentheses please. > > >In the form of the specifications in that part of the document, that >means that the parentheses are terminals. They are required to be used >in the construct. > >d/ > Note that using <group> for the separator ensures the use of parentheses. 3) One of the design decisions we made for ABNF in RFC2234, still preserved in RFC5234 para 3.1 is: > NOTE: > > This specification for ABNF does not provide for implicit > specification of linear white space. > > Any grammar that wishes to permit linear white space around > delimiters or string segments must specify it explicitly. This proposal seems to break this design decision by re-introducing implicit linear white space. > n*m#(a)(element) = (n_1*m_1(element 1*SP a) f(element)) The above seems to require at least one space before the separator. Whereas the examples talks of "OPTIONAL spaces". In summary, if this proposal is to be adopted then I think the following need to be addressed: 1) The case needs to be made for adding the proposed construct. ABNF can already define lists, is a more succinct specialized syntax really necessary? 2) The formal syntax should be given as an extension to that given in RFC5234. The semantics should be expressed in prose. 3) The RFC5234 design decision to have no implicit white space should be respected. Regards -- Paul Overell
- [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