Re: [netmod] [Editorial Errata Reported] RFC7950 (5642)

Ladislav Lhotka <lhotka@nic.cz> Fri, 22 February 2019 09:02 UTC

Return-Path: <lhotka@nic.cz>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F24E3126C15 for <netmod@ietfa.amsl.com>; Fri, 22 Feb 2019 01:02:56 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7
X-Spam-Level:
X-Spam-Status: No, score=-7 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_HI=-5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nic.cz
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9yrBnOKoZ7OH for <netmod@ietfa.amsl.com>; Fri, 22 Feb 2019 01:02:53 -0800 (PST)
Received: from mail.nic.cz (mail.nic.cz [IPv6:2001:1488:800:400::400]) (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 17177124D68 for <netmod@ietf.org>; Fri, 22 Feb 2019 01:02:53 -0800 (PST)
Received: from birdie (unknown [IPv6:2001:718:1a02:1::380]) by mail.nic.cz (Postfix) with ESMTPSA id 74977607F8 for <netmod@ietf.org>; Fri, 22 Feb 2019 10:02:50 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nic.cz; s=default; t=1550826170; bh=5oL/Mc5g0/6f/TYa7Nt1rLyRBZaDRBm+SXUUefN9qxg=; h=From:To:Date; b=dPwHKb3VIqKDUG8VkZ9o1IWQUQ3blAYCfOmA91PHkDfDTQF9VNhh1HY5BgM6pTpvP eNK7z5s0T7oZFHsr6/zv4nnUQZilaWFvqklnH9XTcIT0htmlsOIEQ2hmKG7/SpEUCY gVZJx4bwLBOzDGQ/FoQkjp8E+K/7Ekltk7NhnpPA=
Message-ID: <0443a07a154d107335f99b8c62874df9f05ec6ad.camel@nic.cz>
From: Ladislav Lhotka <lhotka@nic.cz>
To: netmod@ietf.org
Date: Fri, 22 Feb 2019 10:02:50 +0100
In-Reply-To: <20190221.193325.152438307014996574.mbj@tail-f.com>
References: <CABCOCHQMAq-vzANerP3ehY1y9fiiQZKY_S4dEh0qfhO=7bS8hA@mail.gmail.com> <HE1PR0701MB29053FE1EC7A4F199C688050EA7E0@HE1PR0701MB2905.eurprd07.prod.outlook.com> <CABCOCHQMB8KD9Z8zXw8uxLOrcBE7_RqNFGRmJfNmoQ=TvFUaDg@mail.gmail.com> <20190221.193325.152438307014996574.mbj@tail-f.com>
Organization: CZ.NIC
Content-Type: text/plain; charset="UTF-8"
User-Agent: Evolution 3.30.5
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Virus-Scanned: clamav-milter 0.99.2 at mail
X-Virus-Status: Clean
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/5RooFyFpcVeIlqvJ2LHAsyekCPA>
Subject: Re: [netmod] [Editorial Errata Reported] RFC7950 (5642)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 22 Feb 2019 09:02:57 -0000

On Thu, 2019-02-21 at 19:33 +0100, Martin Bjorklund wrote:
> Andy Bierman <andy@yumaworks.com> wrote:
> > On Thu, Feb 21, 2019 at 10:07 AM Peter Loborg <peter.loborg@ericsson.com>
> > wrote:
> > 
> > > 
> > > Your example is fine – but the gammar is ch14 specifies something
> > > different:
> > > 
> > > 
> > > 
> > > enum-stmt           = enum-keyword sep string optsep
> > > 
> > >                          (";" /
> > > 
> > >                           "{" stmtsep
> > > 
> > >                               ;; these stmts can appear in any order
> > > 
> > >                               *if-feature-stmt
> > > 
> > >                               [value-stmt]
> > > 
> > >                               [status-stmt]
> > > 
> > >                               [description-stmt]
> > > 
> > >                               [reference-stmt]
> > > 
> > >                            "}") stmtsep
> > > 
> > > 
> > > 
> > > It clearly states  string, not quoted-string. These two have the following
> > > rules:
> > > 
> > > 
> > > 
> > > quoted-string       = (DQUOTE string DQUOTE) / (SQUOTE string SQUOTE)
> > > 
> > > 
> > > 
> > > string              = < an unquoted string, as returned by >
> > > 
> > >                          < the scanner, that matches the rule >
> > > 
> > >                          < yang-string >
> > > 
> > > 
> > > 
> > 
> > The text in 9.6.4 is correct.
> > The ABNF is wrong.
> 
> No, the ABNF is correct.  The ABNF doens't handle concatenation etc.
> The idea is that the scanner handles quotes and concatenation and
> returns a "string".

I guess the explanation could be improved. Section 6.1.3 talks about unquoted,
single- and double-quoted strings, but then the term "string" is used in the
ABNF to mean the argument string, i.e. the result of scanner preprocessing
(concatenation, substitution of escaped characters). Maybe we can use another
term, such as "argstring", for the latter.

Also, the term scanner only appears in the ABNF appendix. Some explanation of
the preprocessing stage in the main text would also help.

Lada

> 
> 
> /martin
> 
> 
> 
> > 
> > 
> > > …and in 6.1.3 we can read that:
> > > 
> > >    An unquoted string is any sequence of characters that does not
> > > 
> > >    contain any space, tab, carriage return, or line feed characters, a
> > > 
> > >    single or double quote character, a semicolon (";"), braces ("{" or
> > > 
> > >    "}"), or comment sequences ("//", "/*", or "*/").
> > > 
> > > 
> > > 
> > >    Note that any keyword can legally appear as an unquoted string.
> > > 
> > > 
> > > 
> > > Since the section so clearly writes about single quoted strings and double
> > > quoted strings, there can unfortunately be no interpretation that would
> > > allow “identifier” to be called an unquoted string – even though it
> > > follows
> > > the rules about limited character contents.
> > > 
> > > 
> > > 
> > > Hence – this is not a matter of opinion – it’s a matter of reading what’s
> > > actually written in the RFC.
> > > 
> > > 
> > > 
> > > But on the subject of opinion…
> > > 
> > > 
> > > 
> > >       enum "This is also legal";   // should definitely always be illegal
> > > 
> > > 
> > > 
> > > …as we cannot create a language binding to enum constructs in any major
> > > programming languages.
> > > 
> > > 
> > > 
> > 
> > There are many aspects of YANG that do not map directly to programming
> > languages,
> > such as allowing '.' in identifiers.
> > 
> > 
> > 
> > > Br,
> > > 
> > > Peter
> > > 
> > 
> > Andy
> > 
> > 
> > > 
> > > 
> > > 
> > > *From:* Andy Bierman <andy@yumaworks.com>
> > > *Sent:* den 21 februari 2019 18:45
> > > *To:* Martin Bjorklund <mbj@tail-f.com>
> > > *Cc:* RFC Editor <rfc-editor@rfc-editor.org>; Ignas Bagdonas <
> > > ibagdona@gmail.com>; NetMod WG <netmod@ietf.org>; Peter Loborg <
> > > peter.loborg@ericsson.com>; Warren Kumari <warren@kumari.net>
> > > *Subject:* Re: [netmod] [Editorial Errata Reported] RFC7950 (5642)
> > > 
> > > 
> > > 
> > > 
> > > 
> > > 
> > > 
> > > On Thu, Feb 21, 2019 at 8:53 AM Martin Bjorklund <mbj@tail-f.com> wrote:
> > > 
> > > RFC Errata System <rfc-editor@rfc-editor.org> wrote:
> > > > The following errata report has been submitted for RFC7950,
> > > > "The YANG 1.1 Data Modeling Language".
> > > > 
> > > > --------------------------------------
> > > > You may review the report below and at:
> > > > http://www.rfc-editor.org/errata/eid5642
> > > > 
> > > > --------------------------------------
> > > > Type: Editorial
> > > > Reported by: Peter Loborg <peter.loborg@ericsson.com>
> > > > 
> > > > Section: 9.6.4
> > > > 
> > > > Original Text
> > > > -------------
> > > > It takes as an argument a string that is the assigned name.
> > > > 
> > > > Corrected Text
> > > > --------------
> > > > It takes as an argument an unquoted string that is the assigned name.
> > > 
> > > This is not correct.  The enum argument is not different from any
> > > other keyword's arguments in YANG.  See e.g. the example in 9.12.4:
> > > 
> > >        type enumeration {
> > >          enum "unbounded";
> > >        }
> > > 
> > > The following is also legal:
> > > 
> > >          enum "unb" + 'ounded';
> > > 
> > > 
> > > 
> > > 
> > > 
> > >   enum "This is also legal";
> > > 
> > > 
> > > 
> > > 9.6.4.  The "enum" Statement
> > > 
> > > 
> > > 
> > >    The "enum" statement, which is a substatement to the "type"
> > > 
> > >    statement, MUST be present if the type is "enumeration".  It is
> > > 
> > >    repeatedly used to specify each assigned name of an enumeration type.
> > > 
> > >    It takes as an argument a string that is the assigned name.  *The*
> > > 
> > > *   string MUST NOT be zero-length and MUST NOT have any leading or*
> > > 
> > > *   trailing whitespace characters* (any Unicode character with the
> > > 
> > >    "White_Space" property).  The use of Unicode control codes SHOULD be
> > > 
> > >    avoided.
> > > 
> > > 
> > > 
> > > 
> > > 
> > > This errata should be rejected.
> > > 
> > > 
> > > 
> > > /martin
> > > 
> > > 
> > > 
> > > 
> > > 
> > > Andy
> > > 
> > > 
> > > 
> > > 
> > > > Notes
> > > > -----
> > > > Readers are not beeing made aware that careful reading of section 6.1.3
> > > and the detailed definition of string in section 14 must be consulted.
> > > > For comming versions of this RFC it would be preferable to use a more
> > > specialized grammar token for these cases (e.g. unquoted-string).
> > > > Instructions:
> > > > -------------
> > > > This erratum is currently posted as "Reported". If necessary, please
> > > > use "Reply All" to discuss whether it should be verified or
> > > > rejected. When a decision is reached, the verifying party
> > > > can log in to change the status and edit the report, if necessary.
> > > > 
> > > > --------------------------------------
> > > > RFC7950 (draft-ietf-netmod-rfc6020bis-14)
> > > > --------------------------------------
> > > > Title               : The YANG 1.1 Data Modeling Language
> > > > Publication Date    : August 2016
> > > > Author(s)           : M. Bjorklund, Ed.
> > > > Category            : PROPOSED STANDARD
> > > > Source              : Network Modeling
> > > > Area                : Operations and Management
> > > > Stream              : IETF
> > > > Verifying Party     : IESG
> > > > 
> > > 
> > > _______________________________________________
> > > netmod mailing list
> > > netmod@ietf.org
> > > https://www.ietf.org/mailman/listinfo/netmod
> > > 
> > > 
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod
-- 
Ladislav Lhotka
Head, CZ.NIC Labs
PGP Key ID: 0xB8F92B08A9F76C67