Re: [apps-discuss] Review of: draft-yevstifeyev-abnf-separated-lists-02

"Thomson, Martin" <> Mon, 13 December 2010 04:57 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id DCB423A6DAE for <>; Sun, 12 Dec 2010 20:57:22 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.56
X-Spam-Status: No, score=-2.56 tagged_above=-999 required=5 tests=[AWL=0.039, BAYES_00=-2.599]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id E+cki-MzIMpo for <>; Sun, 12 Dec 2010 20:57:22 -0800 (PST)
Received: from ( []) by (Postfix) with ESMTP id 0B38D3A6D93 for <>; Sun, 12 Dec 2010 20:57:22 -0800 (PST)
Received: from [] ([]:58985 "EHLO") by with ESMTP id S512742Ab0LME66 (ORCPT <rfc822;>); Sun, 12 Dec 2010 22:58:58 -0600
Received: from ( by ( with Microsoft SMTP Server (TLS) id 8.1.436.0; Sun, 12 Dec 2010 22:58:58 -0600
Received: from ([fe80::9d82:a492:85e3:a293]) by ([fe80::58c3:2447:f977:57c3%10]) with mapi; Mon, 13 Dec 2010 12:58:56 +0800
From: "Thomson, Martin" <>
To: "" <>, "" <>
Date: Mon, 13 Dec 2010 12:58:54 +0800
Thread-Topic: [apps-discuss] Review of: draft-yevstifeyev-abnf-separated-lists-02
Thread-Index: AcuZTezMHyHe3/qlTuGNhRprTlW7TgBK2u7g
Message-ID: <>
References: <> <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
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
Cc: Mykyta Yevstifeyev <>
Subject: Re: [apps-discuss] Review of: draft-yevstifeyev-abnf-separated-lists-02
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: General discussion of application-layer protocols <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Mon, 13 Dec 2010 04:57:23 -0000

On 2010-12-12 at 03:10:06, Dave CROCKER wrote:
> At this point I am wondering whether it would not be cleaner to have
> the
> notation be:
>       <n>*<m>[^(<a>)]element

I was initially apprehensive of your proposed reuse of "*" for this construct.  However, on reflection, I like it.  This is a statement that says there are <n> to <m> elements, except that this is tweaked so that each repetition is separated by <a>.  The default value for <a> is the empty string.

Drop the parentheses.

I'm still concerned about how <a> is defined.  It seems that <element> is the right rule to use here; the -03 draft still uses ``*(VCHAR / SP / HT)'', which I think is wrong.

That gives a new, expanded definition for the <repeat> rule:

  repeat         =  (1*DIGIT / (*DIGIT "*" *DIGIT)) ["^" element]

Mykyta: this is what the draft is still missing.  Rather than concentrating on the expanded form; use prose and example and instead concentrate on getting the syntax right.

> I'm still not in love with the up-arrow [...]

I too had a similar reaction, but it's only fair that Mykyta gets to choose, having had the initiative to write this down.  I really can't think of a reason other than the aesthetic one, which isn't really strong enough to ask for a change.

> Also the issue of allowing LWS or the like around the separator might
> best be expressed within the separator construct rather than be implied.  

Please, yes.  Let the user choose what separators are valid.  Optional whitespace might be commonplace in some grammars, but you should not assume that it's always desired.