Re: [abnf-discuss] Importing ABNF rules

Paul Kyzivat <pkyzivat@alum.mit.edu> Wed, 20 September 2023 20:17 UTC

Return-Path: <pkyzivat@alum.mit.edu>
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 1CFB5C15171E for <abnf-discuss@ietfa.amsl.com>; Wed, 20 Sep 2023 13:17:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.102
X-Spam-Level:
X-Spam-Status: No, score=-7.102 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, NICE_REPLY_A=-0.091, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=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 (1024-bit key) header.d=alum.mit.edu
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 G5B2pGoeoerI for <abnf-discuss@ietfa.amsl.com>; Wed, 20 Sep 2023 13:17:30 -0700 (PDT)
Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2087.outbound.protection.outlook.com [40.107.93.87]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1C213C151710 for <abnf-discuss@ietf.org>; Wed, 20 Sep 2023 13:17:29 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gQy8bEK3m3tW4RK4HBC/g+dchaBGSMM6icU3RGtGWYPd2VZ/Z9WdMjpA+uZcODiZaJkAGo+I9jjpGm+d4h/Roc4lyP7+415JXNaC2AaAPzeRQSVfrXDVMRz07naGJE4T3B3j+EcMa+Qw58eQyBuxWUSKWQ2Mxj5Qab2Rtji24ZDLUvWCHAbLF6yGwZ1UYzka6FGrDiE2K9Rx2uMPVYSYVyjPmjlw2t6gmfD0fyk8xUUaVgnReW7pdZ38aqNt5w/QX67EmZKpYLHKG1Q6ASnEPEXqYqMi5ciISa4M6tm0O9boTB2+sHnVjkApSP2BbXRxq+v+v2rTYBhy5gDMotTWtg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=jsgoOMMWqT61CjE8BtIFqD75/gEVuxBgvpo2ckKB2VY=; b=SAKGIBefFwUESc9ZgwksodVpN8xrJ85aOKrqfRN8VBOVGIQLQUYo9epoX60QjCSUcw+P4QfizZgMYSe6f70CGZ7v19sJWbsadNytMdH7lQOfuR+BneMfdaB7dl5lJsAjiP17iusuS8OktywgoI6V6d+kXZuBn943qt5ny1ZG4g+VVFC5B8GihAfrl/tBVH82GQ0rUv8DpnGPqUCPrAE0yIoMEBUmPnmlVsVyCsSBiirEBcD0l2YM9Bd20FY2D0XRqgaXYcH8vGIX3RwCB1elC9lkTQsXYUnVveZvrOEwP+eKtWa/VlSEOU3PmYeJj1XLOsF8wuRMDkUm2ynWgaMMVg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 18.7.68.33) smtp.rcpttodomain=ietf.org smtp.mailfrom=alum.mit.edu; dmarc=pass (p=none sp=none pct=100) action=none header.from=alum.mit.edu; dkim=none (message not signed); arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alum.mit.edu; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=jsgoOMMWqT61CjE8BtIFqD75/gEVuxBgvpo2ckKB2VY=; b=HhKC/akKdAB0TjrYzwn0n/UcY2KMUa1oOYyetqjshvaHGn/EqZZXTrMK8yKiU431outuU//I/WjgXJI10GNp0g73bg3SZJ47TvVuIb9NU/LIFVPwdDBB8np7+eaO9NPwg3iAqk50UCoRJP2WLHRMBk50z6yZBrsvcDsZbVBUmVA=
Received: from MN2PR15CA0011.namprd15.prod.outlook.com (2603:10b6:208:1b4::24) by DM6PR12MB4452.namprd12.prod.outlook.com (2603:10b6:5:2a4::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.30; Wed, 20 Sep 2023 20:17:28 +0000
Received: from BL6PEPF0001AB74.namprd02.prod.outlook.com (2603:10b6:208:1b4:cafe::fb) by MN2PR15CA0011.outlook.office365.com (2603:10b6:208:1b4::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.29 via Frontend Transport; Wed, 20 Sep 2023 20:17:27 +0000
X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 18.7.68.33) smtp.mailfrom=alum.mit.edu; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=alum.mit.edu;
Received-SPF: Pass (protection.outlook.com: domain of alum.mit.edu designates 18.7.68.33 as permitted sender) receiver=protection.outlook.com; client-ip=18.7.68.33; helo=outgoing-alum.mit.edu; pr=C
Received: from outgoing-alum.mit.edu (18.7.68.33) by BL6PEPF0001AB74.mail.protection.outlook.com (10.167.242.167) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.20 via Frontend Transport; Wed, 20 Sep 2023 20:17:26 +0000
Received: from [192.168.1.52] (c-73-143-251-114.hsd1.ma.comcast.net [73.143.251.114]) (authenticated bits=0) (User authenticated as pkyzivat@ALUM.MIT.EDU) by outgoing-alum.mit.edu (8.14.7/8.12.4) with ESMTP id 38KKHP4P004969 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=NOT); Wed, 20 Sep 2023 16:17:25 -0400
Message-ID: <bacc0fa9-3ed4-d28d-581c-5ac52743b513@alum.mit.edu>
Date: Wed, 20 Sep 2023 16:17:25 -0400
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.15.1
Content-Language: en-US
To: Dave Crocker <dcrocker@gmail.com>, 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> <170be3c1-02db-49df-9c75-ae12e4973dbf@gmail.com>
From: Paul Kyzivat <pkyzivat@alum.mit.edu>
In-Reply-To: <170be3c1-02db-49df-9c75-ae12e4973dbf@gmail.com>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB74:EE_|DM6PR12MB4452:EE_
X-MS-Office365-Filtering-Correlation-Id: b75d3119-9068-45af-5234-08dbba169bd7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: BhQx2XaHihcOR9tErb9to9AEnarj2z6qQHdDyYGFaPbM77dyoZ14ET/JDjXMEPxGnTjN+ZMAmtUZZje81PZYrpr9erNIui3XAg8P55TbTqsXWcKTyslcsVKma6qPNLvMdrD8WI0bdItInXwFYXA2c+CSdX5NNIQjuuVg3nPudr6cf8ltrWyf5s9v+wOtDJvGeAI4Lx58bTi7yUHCVK4duKio0N1oQGpuF7R4TaaSkGufiDgJ5g+Vrum3N17WS7Qjw7swkeupz6bZi4QHExUyOcl5LzA5mcbGkICKFeFnT7ptOAqLKy/SSof9x+2R6YU1YOcArWC5Ugjluqvn/RvE8hiiIpRMjWggvoXHr5mDhCG50yjZCsd+cNp4Ve4zJ4WJBQGVFpyrVi5ile/FnBnXO/dzVrAHWUkMLZBGgbbmyFev+En2kc2V9oYmIV+OGsYaiR2pbblxyQ+3EIoV7OiNuSz21Mu6YkaAigjmrYJPVW+af32OqQrqaBNt7ZL0IjyY3B7EOn35C/6Bd8pOolOi0cNgrNlfa2pQ7rqyKgo0hgdkwWKXI7Ed0sEmKA2NDNm/DCKIhaiPAuxoqYdLwTqTRKC6EgCmi5OUaXh/y/9/OBmj/SjUx6spXZGXlK7eOSMObYMISzNU7wxv3Gvr4Ww21JbL/SAwU3SRoqiEdjHeC/4DDpBR4RminvUk8k1itVCI8lSa9z2x+X21Vq3zPBVY5Nj8fHbTRO7g+dwl+qBmTCCg2yPNCcpiDeEIJrBRLB3yCWeFKuVS+SkThfvntKrOyA==
X-Forefront-Antispam-Report: CIP:18.7.68.33; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:outgoing-alum.mit.edu; PTR:outgoing-alum.mit.edu; CAT:NONE; SFS:(13230031)(39860400002)(346002)(396003)(376002)(136003)(451199024)(8000799017)(1800799009)(186009)(82310400011)(46966006)(36840700001)(31686004)(53546011)(478600001)(7596003)(86362001)(75432002)(356005)(82740400003)(40480700001)(31696002)(36860700001)(3480700007)(2616005)(26005)(47076005)(956004)(41320700001)(336012)(2906002)(83380400001)(5660300002)(8676002)(7116003)(41300700001)(8936002)(786003)(316002)(70206006)(70586007)(43740500002); DIR:OUT; SFP:1101;
X-OriginatorOrg: alum.mit.edu
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Sep 2023 20:17:26.7964 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b75d3119-9068-45af-5234-08dbba169bd7
X-MS-Exchange-CrossTenant-Id: 3326b102-c043-408b-a990-b89e477d582f
X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3326b102-c043-408b-a990-b89e477d582f; Ip=[18.7.68.33]; Helo=[outgoing-alum.mit.edu]
X-MS-Exchange-CrossTenant-AuthSource: BL6PEPF0001AB74.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4452
Archived-At: <https://mailarchive.ietf.org/arch/msg/abnf-discuss/SDY0EMVUelnNJGTyP-wuwDrNGR0>
Subject: Re: [abnf-discuss] Importing ABNF rules
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 20:17:34 -0000

Isn't there an effort to improve/automate verification of language usage 
embedded in drafts? (Or did I imagine that?)

If so, mechanisms for formalizing inport & extension of ABNF could fit 
within that effort.

	Thanks,
	Paul

On 9/20/23 2:52 PM, Dave Crocker wrote:
> 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/
>