Re: Seeking clarification of ABNF "name formation" reference

"Clive D.W. Feather" <clive@demon.net> Wed, 23 May 2007 08:48 UTC

Return-path: <discuss-bounces@apps.ietf.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1HqmVw-0005Go-JD; Wed, 23 May 2007 04:48:12 -0400
Received: from discuss by megatron.ietf.org with local (Exim 4.43) id 1HqmVv-0005Gj-5W for discuss-confirm+ok@megatron.ietf.org; Wed, 23 May 2007 04:48:11 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1HqmVu-0005Gb-S2 for discuss@apps.ietf.org; Wed, 23 May 2007 04:48:10 -0400
Received: from anchor-internal-1.mail.demon.net ([195.173.56.100]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1HqmVt-0001bS-Ee for discuss@apps.ietf.org; Wed, 23 May 2007 04:48:10 -0400
Received: from finch-staff-1.server.demon.net (finch-staff-1.server.demon.net [193.195.224.1]) by anchor-internal-1.mail.demon.net with ESMTP� id l4N8m8ph021166Wed, 23 May 2007 08:48:08 GMT
Received: from clive by finch-staff-1.server.demon.net with local (Exim 3.36 #1) id 1HqmUd-000G2n-00; Wed, 23 May 2007 09:46:51 +0100
Date: Wed, 23 May 2007 09:46:51 +0100
From: "Clive D.W. Feather" <clive@demon.net>
To: dcrocker@bbiw.net
Subject: Re: Seeking clarification of ABNF "name formation" reference
Message-ID: <20070523084651.GB57435@finch-staff-1.thus.net>
References: <46523D89.70905@dcrocker.net>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <46523D89.70905@dcrocker.net>
User-Agent: Mutt/1.5.3i
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 82c9bddb247d9ba4471160a9a865a5f3
Cc: discuss@apps.ietf.org
X-BeenThere: discuss@apps.ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: general discussion of application-layer protocols <discuss.apps.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/discuss>, <mailto:discuss-request@apps.ietf.org?subject=unsubscribe>
List-Post: <mailto:discuss@apps.ietf.org>
List-Help: <mailto:discuss-request@apps.ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/discuss>, <mailto:discuss-request@apps.ietf.org?subject=subscribe>
Errors-To: discuss-bounces@apps.ietf.org

Dave Crocker said:
>><section title="Operator Precedence">
>>
>>            <t> The various mechanisms described above have the following
>>               precedence, from highest (binding tightest) at the top, to
>>               lowest (loosest) at the bottom: <list>
>>
>>                  <t>Strings, Names formation</t>
>>                  <t>Comment</t>
>>                  <t>Value range</t>
>>                  <t>Repetition</t>
>>                  <t>Grouping, Optional</t>
>>                  <t>Concatenation</t>
>>                  <t>Alternative</t>
>>
>>               </list>
>>            </t>

If "value range" means the "%x20-3F" construct, then that has higher
precedence than comment, I would suggest. More significantly, repetition
has lower precedence than grouping and optional: this is shown firstly by
the formal grammar, and secondly because "*(A B)" means zero or more sets
of A-then-B, while if repetition had higher precedence then it would mean
zero or more As followed by one B (that is, the same as "((*A) B)").

> The reference to "Name formation" has been in this form since RFC 2234.

I assumed it was <prose-val>.

However, as Philip points out, it's not defined anywhere in sections 2 or
3. Rather, 2.1 implies that the "<rulename>" form can occur on the left of
the <defined-as> if the author wants. This means that the grammar should
have the following definitions for rulename:

    rulename = ub-rulename / "<" ub-rulename ">"
    ub-rulename = ALPHA *(ALPHA / DIGIT / "-")

I've used "ub-rulename" to mean "unbracketed rulename"; feel free to change
it.

Is it intentional to allow <rulename> to end in a hyphen?

As well as needing a textual description of <prose-val>, there are two other
considerations:
(1) the comment implies that "<" cannot occur in a <prose-val>, but the
    formal grammar allows it;
(2) with the above change, the grammar is ambiguous, because "<rulename>"
    can be either a <rulename> or a <prose-val>. This needs disambiguating
    in some way, either in a comment or by requiring a prose-val to contain
    a non alphanumeric character (which might be space).

-- 
Clive D.W. Feather  | Work:  <clive@demon.net>   | Tel:    +44 20 8495 6138
Internet Expert     | Home:  <clive@davros.org>  | Fax:    +44 870 051 9937
Demon Internet      | WWW: http://www.davros.org | Mobile: +44 7973 377646
THUS plc            |                            |