[Tools-discuss] Re: [art] Re: Exploring ABNF extracts from RFCs
Paul Kyzivat <pkyzivat@alum.mit.edu> Mon, 29 July 2024 13:59 UTC
Return-Path: <pkyzivat@alum.mit.edu>
X-Original-To: tools-discuss@ietfa.amsl.com
Delivered-To: tools-discuss@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D9DCDC180B60; Mon, 29 Jul 2024 06:59:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.008
X-Spam-Level:
X-Spam-Status: No, score=-2.008 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] 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 CbK6pZbRNirI; Mon, 29 Jul 2024 06:59:25 -0700 (PDT)
Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2099.outbound.protection.outlook.com [40.107.93.99]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 11F63C15199A; Mon, 29 Jul 2024 06:59:25 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ZHz2WRRtuzO122xYR5BESRoLd2MlOo0Pe3zpJ08nSdB/wOPYQfccIUjvSZkIoPYHIBXcABXm/ltumirwyAdxeFffnU4NpL+V5R8jvYhRU+F/DO8E8N5FULRrgalXktfYIyGAVzvY0B0q0c951F4n6Z1CWyQO0zOT3gBu8IRmItOYijcmOmCExZZyeRalzpr2o/XOeMW0nqC4k7iGp0ZvU9RbtC2X2yaH4siCVAcDOG/3xS8RLga5aEM+PNXLSl3XaAF8i3N1jhf3IubXGprcpkRaAI1EePTd34yc3IU5H4AFc0Ec9vacGpGJLJEXFt2v/0OkuIvvsnWaUEls+r4m4g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=fsc77WYyeYOsnqDZ+EQR4c4qCiDSypWWxOZ8xLsZMSE=; b=gUUmcd6Uz2D9ImdhMFDJYEvLyRyXztC/PQ7Y+hk0rJvEd9MKmYgdqgoZltH0yhoGgRE23iNu72RsIV0BnZXLguXXpTzQldlV0MIZv2IxgK9NgYkeGQ5FfMpDmNCw4LUh3MQZyuXS9a1Uule0e1SfLNW41MpVIqRL+Q9vfOeFflbozOjw1vaq+GNt1SCaPpAwbs5HRSsZoi9mVxQdxdt/GJVZ/w+bFmPdBniNZQ8X1Em0rOIpMgBkTaX+vEGDIycjlhPciZHbzdDz+cx68rrVT14p/uSZhN+cqcSsTPHd07KHAxt7JFf7VwIDO9spxMUENTVJZbHcMofZsAZ5zNzZEQ==
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 (0)
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=fsc77WYyeYOsnqDZ+EQR4c4qCiDSypWWxOZ8xLsZMSE=; b=P2Pak8Io4rWF5UXC/q/Eacox4aWKLCC9xhu+PGs+QC0O8IuvqmA0ArMGPz0MN7aU/JX1jzEDHXhfDpPrR8EVuGRmtRR1dHTxEc97lr0CS/qmDJb4Ct0l09MYoSUy5/j01vx5S06nWkvdOjM7y89ePPwoi+6q0sjxRE1XgszUGew=
Received: from CYXPR02CA0004.namprd02.prod.outlook.com (2603:10b6:930:cf::7) by CYYPR12MB8871.namprd12.prod.outlook.com (2603:10b6:930:c2::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7807.27; Mon, 29 Jul 2024 13:59:19 +0000
Received: from CY4PEPF0000FCC5.namprd03.prod.outlook.com (2603:10b6:930:cf:cafe::68) by CYXPR02CA0004.outlook.office365.com (2603:10b6:930:cf::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7784.34 via Frontend Transport; Mon, 29 Jul 2024 13:59:19 +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 CY4PEPF0000FCC5.mail.protection.outlook.com (10.167.242.107) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7784.11 via Frontend Transport; Mon, 29 Jul 2024 13:59:18 +0000
Received: from [192.168.1.52] (c-76-19-71-248.hsd1.ma.comcast.net [76.19.71.248]) (authenticated bits=0) (User authenticated as pkyzivat@ALUM.MIT.EDU) by outgoing-alum.mit.edu (8.14.7/8.12.4) with ESMTP id 46TDwVU1016637 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=NOT); Mon, 29 Jul 2024 09:59:17 -0400
Message-ID: <3429e2fb-c69f-4f01-8258-44efd01475f4@alum.mit.edu>
Date: Mon, 29 Jul 2024 09:59:17 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Paul Kyzivat <pkyzivat@alum.mit.edu>
To: Carsten Bormann <cabo@tzi.org>
References: <89a4a566-8ffe-413e-9196-3f08bebe8d20@w3.org> <99E8B992-AF60-4CD6-9786-2EC180E95E4D@tzi.org> <2867abac-8c62-41b2-a20c-cb9fe8d3736d@alum.mit.edu> <97E9D31B-567B-415B-AEFF-D2A561198571@tzi.org>
Content-Language: en-US
In-Reply-To: <97E9D31B-567B-415B-AEFF-D2A561198571@tzi.org>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000FCC5:EE_|CYYPR12MB8871:EE_
X-MS-Office365-Filtering-Correlation-Id: 371bd0ef-22c2-4d18-96be-08dcafd6a45a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|82310400026|376014|41320700013|36860700013;
X-Microsoft-Antispam-Message-Info: 2ek89e+Ga816WcKevs1OeehBjOBwvrz5dCp2vQFZxY+8TdlLM7d85w41R13KDMlRrAaNU9dRrv6h6U+BJIh15vqQ1EstX0xwnsDFmzK6Kt5GNDu7gI3a8QBee+RDa3HS711FcdusAoiRE2lXe8RXnqbkrYV8SUubVoT5NAi8AuqDRXzoWd1HdDIePylFqyARsSHgY4pZ4dBddlXDxx/FKBCx9mqgV3wCDCJo5NJpUQ71QRiVgKQCb3Qhj1G8Vxn928yi5n07Q5T7RpXOOG5hqOAlacJuIGtIkNcgfJw2ZO/ETK5I5pBi8GHMwVD1XtyGxPyFClu2OD6iNjtC9OJNioYy2ZrCy1YpsB7hYejgdLbAkEdRUbCBUSLx9DpfPg3VmfNbqy4ljw5f+xoLp0d7T76NEbdLSU9fduhpy+lnnlmJRRqK/zIeu+6nCil/3d6z/FcODK8Yb/0tCKM+0oafDJ9BHWaLm15hW+C5+FKc5Do5YXNIuMt6McwSk3PGPM5fKTGuiytlaQfHryJ8/0wnvlJvhZPrR2U9gCK0+AbDA8WN68ZDsjBLiVXCldzp9UVz1XmXk7D39dfBU+aW/RUVca6gmMF+HDniAh1aHnmcTZIF01uz3d/PQZ41IGAuZ19pz8L1DoImD6xkVUZlKNXoZ5bkjDoirPXy+IT5TC0NX+z2dPr1JqXAhxY2OiFHSitLvFHxT+ehmnxtQHKmHe75XYg6sjB6pbnb8QezAemPKxBVuApfVKr4uYqsr5Xy8eRFGQ6MXM9+YNPkB/WYR2FT6IXiAv+41G1AvbrOl9Y2o3DjGchbpCr4Zps4ZWEdmw4z4FIwu5Oifst5Ouk6slS0gzLEEulm0nG+u7IQYAjtGVq8JBFAD+Px3yfcxYWjl1pHwXWmGUd2P1gcxgUzc6C/a87/jTBktkhUXtL38baLaHsE4GZDvW+bLT7wW2uM6dPzl9I+dR03tfM38x5DbfT6Yeniec1cSQJYHfh1VLYKP0/exxbLxBocsIZTilyRtEqo/ZiyKTZAvf6wujK5hO4ugPuncF+LPgNH0DvSxXNMp0Hh5vvewWls7dU2lTNluuTdEe7YHODgeCKjLWwK4o8GQV2auwvC8S/r04uKVNMsnirZ7/O41y30LPurpqqY9HTXVqUs8Xa7Iz1mEe8QidVGahdEniyFIy3BDsFyLyPIAcSSIcRC2keQ/wbO5Urwp2P/IFHQS8ejG2XOaZepYyBn1qIMqKFR+4dizTnwuwsGVYhYJpuap0KdStP0jq3NFDbKSDUOJP6OnfPyam5boKFdLOU3E2cxpk83nP+olG4k/ZK99x1GwpwbVLIVIezZLce1FcQZJhMyahHZGh7h8LCJgBrWMIWFBgtMD82Pp9CEbb7to/ALj1Fvmy2S4s92X5hOgW1XzJlOqpNS89+oEvavYw==
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:(13230040)(1800799024)(82310400026)(376014)(41320700013)(36860700013);DIR:OUT;SFP:1102;
X-OriginatorOrg: alum.mit.edu
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Jul 2024 13:59:18.9561 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 371bd0ef-22c2-4d18-96be-08dcafd6a45a
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: CY4PEPF0000FCC5.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYYPR12MB8871
Message-ID-Hash: UDPS36GUML2E5TGFW2UO4XLJANPMIX7B
X-Message-ID-Hash: UDPS36GUML2E5TGFW2UO4XLJANPMIX7B
X-MailFrom: pkyzivat@alum.mit.edu
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-tools-discuss.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: Dominique Hazael-Massieux <dom@w3.org>, art@ietf.org, tools-discuss <tools-discuss@ietf.org>, CBOR <cbor@ietf.org>, abnf-discuss@ietf.org
X-Mailman-Version: 3.3.9rc4
Precedence: list
Subject: [Tools-discuss] Re: [art] Re: Exploring ABNF extracts from RFCs
List-Id: IETF Tools Discussion <tools-discuss.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/tools-discuss/NCdx_U-P0OF9MzOxqeJr70rMGX4>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tools-discuss>
List-Help: <mailto:tools-discuss-request@ietf.org?subject=help>
List-Owner: <mailto:tools-discuss-owner@ietf.org>
List-Post: <mailto:tools-discuss@ietf.org>
List-Subscribe: <mailto:tools-discuss-join@ietf.org>
List-Unsubscribe: <mailto:tools-discuss-leave@ietf.org>
[This message apparently failed to be sent, so I'm trying again.] On 7/26/24 12:36 PM, Carsten Bormann wrote: > Hi Paul, > >> There are interesting open issues around abnf dependencies: > > Let me talk about the directions draft-ietf-cbor-cddl-modules <https://www.ietf.org/archive/id/draft-ietf-cbor-cddl-modules-02.html> [1] has taken on these. > Most of these decisions should transfer to ABNF right away. > > [1]: https://www.ietf.org/archive/id/draft-ietf-cbor-cddl-modules-02.html I agree the embedding of directives into comments could also work for abnf. >> * If I want to use a rule defined in another document, do I add to my abnf *all* of the foreign abnf that contains the rule definitions I need? Or do I only import the specific rules I need and any other rules those depend on? > > Just the needed rules and dependencies. > (We do have an “import *”.) It seems you allow both. >> * What to do if the imported abnf has rule names that duplicate ones I have defined in my own abnf? Should the abnf of each document live in a distinct namespace, linked only for the cross referencing rule names? Or should the writer of abnf with dependencies be responsible for avoiding naming conflicts? > > Namespacing can help. > https://www.ietf.org/archive/id/draft-ietf-cbor-cddl-modules-02.html#name-namespacing While you embedded much in comments, minimizing impact on formal cddl syntax, qualifying modules by module name involves the basic syntax of cddl. It seems you qualify imported stuff by module name by prefixing names with <module-name>".". This works because "." is legal in cddl identifiers. I think there must be some issues with scoping, multiple imports of the same module in transitive closures, etc. Most could probably be resolved if namespaces were defined as a native feature of the base syntax. Doing something similar in abnf is limited by its restrictive syntax. The only identifier character that could act as a module name separator is "-". Maybe that would be sufficient, but it certainly needs further consideration. Potentially abnf could be extended, either to simply allow ".' as an identifier character, or to add module semantics with module names separated by ".". I believe this would be an unambiguous extension, but of course it wouldn't be backward compatible. Bottom line: it will take work to get consensus for it in abnf. >> * How to deal with the different ways abnf is used in documents. E.g., >> >> - the simple case: the document contains a single block of abnf defining the syntax for the protocol that is the subject of the document. > > Easy. > >> - the doc has several blocks of abnf, each defining a separate syntax. Rule names may be reused, with different syntax, in each. > > The sourcecode block should have a name= attribute to help with this. > (Eventually, this should be checked by tools/the RFC editor.) > >> - the doc contains (possibly incomplete) fragments of abnf scattered through the doc text, plus a complete consolidated abnf syntax that likely duplicates some or all of the fragments. > > Again, a name= help; the consolidated grammar will be what you want to reference. > >> - the doc contains a complete abnf syntax that is broken into fragments interspersed with text descriptions. > > No problem, if the name= is equal for all the snippets, kramdown-rfc-extract-sourcecode assembles the fragments for you (in document order, but that doesn’t make a difference for ABNF). I agree with all of the above. But AFAIK these are all simply suggested conventions. Can we get them formalized and enforced during document review or by the editor? I also wish these things were accessible to document readers without consulting the xml. And can this stuff be specified in markdown? Thanks, Paul
- [Tools-discuss] Exploring ABNF extracts from RFCs Dominique Hazael-Massieux
- [Tools-discuss] Re: Exploring ABNF extracts from … Carsten Bormann
- [Tools-discuss] Re: [art] Re: Exploring ABNF extr… Paul Kyzivat
- [Tools-discuss] Re: [art] Re: Exploring ABNF extr… Carsten Bormann
- [Tools-discuss] Re: [art] Re: Exploring ABNF extr… Dominique Hazael-Massieux
- [Tools-discuss] Re: [art] Re: Exploring ABNF extr… Paul Kyzivat
- [Tools-discuss] Re: [art] Re: Exploring ABNF extr… Paul Kyzivat
- [Tools-discuss] Re: [art] Re: Exploring ABNF extr… Carsten Bormann
- [Tools-discuss] Re: [art] Exploring ABNF extracts… Carsten Bormann
- [Tools-discuss] Re: [abnf-discuss] Re: [art] Re: … Dave Crocker
- [Tools-discuss] Re: [abnf-discuss] Re: [art] Re: … Carsten Bormann
- [Tools-discuss] Re: [abnf-discuss] Re: [art] Re: … Dave Crocker
- [Tools-discuss] Re: [abnf-discuss] Re: [art] Re: … Paul Kyzivat
- [Tools-discuss] Re: [abnf-discuss] Re: [art] Re: … Dave Crocker
- [Tools-discuss] Re: [abnf-discuss] Re: [art] Re: … Carsten Bormann