Re: [abnf-discuss] Are the Core Rules (Appendix B.1 of RFC 5234) always present in an ABNF spec?

Dave Crocker <dcrocker@gmail.com> Wed, 20 September 2023 18:53 UTC

Return-Path: <dcrocker@gmail.com>
X-Original-To: abnf-discuss@ietfa.amsl.com
Delivered-To: abnf-discuss@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 29E05C14CEED for <abnf-discuss@ietfa.amsl.com>; Wed, 20 Sep 2023 11:53:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.108
X-Spam-Level:
X-Spam-Status: No, score=-2.108 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id VuN4TpdLLRHH for <abnf-discuss@ietfa.amsl.com>; Wed, 20 Sep 2023 11:52:54 -0700 (PDT)
Received: from mail-pl1-x62d.google.com (mail-pl1-x62d.google.com [IPv6:2607:f8b0:4864:20::62d]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C01F7C14CF18 for <abnf-discuss@ietf.org>; Wed, 20 Sep 2023 11:52:54 -0700 (PDT)
Received: by mail-pl1-x62d.google.com with SMTP id d9443c01a7336-1c4194f769fso828625ad.3 for <abnf-discuss@ietf.org>; Wed, 20 Sep 2023 11:52:54 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1695235974; x=1695840774; darn=ietf.org; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=icKHwQniYt9/jUnQsJ5AZM/kpGltE/zxeFvSMvtyIRM=; b=HYSxkNlmaLcM4pdXl80kKNY4dOWgalk6v5LPnJvxqeYgLs52kqtyBmufNkMBDpXBh5 aoMR1R0N3U67KZuM0HMZYEHRTadCF4oPh6JEgNzO/VjYF3oDj6dgEPU79GJOAxIX1W9i /cTDGAR75W60tPvk3JOLfr9cXkIuhvp1iigm5PWewY+VGgnvvGVBZ/vaSFSA41dEUi3M cV8M89JrnSys70y9+peMgbA7G/CWiEA3eJimqiBZ5ucuOw29GRNDxjGKFziGOTlD0ol5 ArUpbfFkZY8Eu4eoj9YksWZOk3DFupv7lJgDVFECf5hDiYfnmBtaJ2qmaMsIP/Vr5aSH f0TQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695235974; x=1695840774; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=icKHwQniYt9/jUnQsJ5AZM/kpGltE/zxeFvSMvtyIRM=; b=uZn3COxEMTt2lD69BcXoG5/j532J3rrY6Bd3wKoceCFqmNlA+UWgdvH9wJgyraSgPk Va9GtZQbr/hWym5NqgkDdB/j+lhmAOjDJKz/VUXqi9NYl6ncNexxVHFJDFS0TJH9Kuta KzsgEooA6HQOz8X/orsHciZ8CsUNxxTXBjmrtn+Q1/yCX5DmvMdFVblwFbruQMdkG2fb 2jd8gJqIwVUPnDndmw5u/CZXJEX40mHHzg9kgNwMeRa24tIiYAiOr36dWN2h0f9BoM9U 8EJR3KfmOodd01kkKqdbCLJ/TANkV6D0QzyjPEeCWCva8dg8ktFfCXEtysOYEUU/l0w3 Ujyw==
X-Gm-Message-State: AOJu0YyIjJCopxiTQo/9EIPl6gG/+AQ59I2u0d4LxLsg380SExrzn6X8 sao70oTFbyikq2brU091Aa/V53aZzF4=
X-Google-Smtp-Source: AGHT+IGu4FQxc9XvwBZqyDLH/DMtgJrAdg2emLW3SysCATitVpI7FbRaWy2cIiemui51hbP2R39xfw==
X-Received: by 2002:a17:902:dad2:b0:1c4:c92:2320 with SMTP id q18-20020a170902dad200b001c40c922320mr3650139plx.31.1695235973868; Wed, 20 Sep 2023 11:52:53 -0700 (PDT)
Received: from [192.168.0.103] (c-98-42-225-165.hsd1.ca.comcast.net. [98.42.225.165]) by smtp.gmail.com with ESMTPSA id d6-20020a170903230600b001b54d064a4bsm12161925plh.259.2023.09.20.11.52.52 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 20 Sep 2023 11:52:52 -0700 (PDT)
Message-ID: <170be3c1-02db-49df-9c75-ae12e4973dbf@gmail.com>
Date: Wed, 20 Sep 2023 11:52:53 -0700
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: Paul Kyzivat <pkyzivat@alum.mit.edu>, abnf-discuss@ietf.org
References: <A9C3993F-D73B-4529-A94B-A6A33589726E@tzi.org> <3c38cda7-98d5-48c8-9b36-ea25f1ab5da4@gmail.com> <7ddce85c-ad53-0874-fd9f-926a45d24e3c@alum.mit.edu>
From: Dave Crocker <dcrocker@gmail.com>
In-Reply-To: <7ddce85c-ad53-0874-fd9f-926a45d24e3c@alum.mit.edu>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/abnf-discuss/5PN9S31Jpd5HxWji8bHvzmkI_68>
Subject: Re: [abnf-discuss] Are the Core Rules (Appendix B.1 of RFC 5234) always present in an ABNF spec?
X-BeenThere: abnf-discuss@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "General discussion about tools, activities and capabilities involving the ABNF meta-language" <abnf-discuss.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/abnf-discuss>, <mailto:abnf-discuss-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/abnf-discuss/>
List-Post: <mailto:abnf-discuss@ietf.org>
List-Help: <mailto:abnf-discuss-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/abnf-discuss>, <mailto:abnf-discuss-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 20 Sep 2023 18:53:00 -0000

On 9/20/2023 11:25 AM, Paul Kyzivat wrote:
> But because there is a practical need to "import"/"copy" rules from 
> one spec to another and 5234 doesn't provide one, various ad hoc 
> mechanisms for specifying this have evolved across multiple documents. 
> Some are:

the 'how' of specifying importation can vary.  personally, I don't care 
how it's done as long as it is clear and easy for an average reader to 
understand unambiguously.


> 1) verbage in the explanatory text of the document explaining that 
> certain rules are to be taken from another document
>
> 2) an ABNF comment explaining the same thing
>
> 3) use of a prose-val, such as:
>     CHAR = <as defined in RFC5234>
>
> I generally prefer (3) when only a few rules are needed and their 
> definitions don't reference lots of other rules. If the situation is 
> more complex then I generally use (2).

It's also common to have a section early in the document that sets up 
terminology definitions and importations. (This might be your 1) but the 
section I'm referencing is more than explanatory.


> It can be hard to verify the ABNF in a document that extends the ABNF 
> of another document. It is necessary to actually cut and paste to 
> create the composite ABNF grammar and then check it. (Or implement it.)

Point taken.  On the other hand, repeating the details of a rule 
specification from another spec invites divergence, as specifications 
evolve.


>
> I would *like* to see ABNF extended to have a more formal mechanism 
> for importation of ABNF, and for extension of ABNF grammars. This 
> would facilitate automatic verification of ABNF in documents. But I'm 
> dubious whether there is sufficient interest to pursue this. 

Yes it would.  I think that every idea for enhancement I've ever seen 
for ABNF was entirely reasonable and, generally, so were the proposed 
details.

At the purely technical level, my main criticism is a tendency to want 
to put enhancements into the core set of rules.  I like a core to be as 
simple as possible, while covering 'essential' capability, in order to 
reduce effort and problems with common implementation.

Something can be a good idea, and have community support, but not be 
widely needed.  Then it makes sense to standardize it but not as part of 
the core set.

At that highlights the non-technical issue, which I think is why many 
reasonable proposed enhancements have not been adopted:  lack of a 
critical mass of community support.


d/

-- 
Dave Crocker
dcrocker@gmail.com
mast:@dcrocker@mastodon.social
408.329.0791

Volunteer, Silicon Valley Chapter
Information & Planning Coordinator
American Red Cross
dave.crocker2@redcross.org