Return-Path: <nite@hq.sk>
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 DC22F120409
 for <netmod@ietfa.amsl.com>; Wed, 17 Jul 2019 07:32:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level: 
X-Spam-Status: No, score=-1.998 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, SPF_HELO_NONE=0.001,
 SPF_NONE=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key)
 header.d=hq.sk
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 XM5jEckHS5Rj for <netmod@ietfa.amsl.com>;
 Wed, 17 Jul 2019 07:32:25 -0700 (PDT)
Received: from mail.hq.sk (hq.sk [81.89.59.181])
 (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
 (No client certificate requested)
 by ietfa.amsl.com (Postfix) with ESMTPS id 60B241205D7
 for <netmod@ietf.org>; Wed, 17 Jul 2019 07:32:25 -0700 (PDT)
Received: from nitebug.nitenet.local (46.229.239.158.host.vnet.sk
 [46.229.239.158])
 by mail.hq.sk (Postfix) with ESMTPSA id 3C299243F98;
 Wed, 17 Jul 2019 16:32:22 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=hq.sk; s=mail;
 t=1563373942; bh=F3rkqQNaM9kyD9Fo7Yi6cfPvzoe9NhTdznhROgt8sTw=;
 h=Subject:To:References:From:Date:In-Reply-To;
 b=WIyBd0nqnIK48KupxnYUhwyAOh2mqF8j0eMYrhXRRRGSO3f4VCtuBxi6hiN5wU3/A
 lklalv3cMw3dpdru0rKKNIR0tlA216kI1v28eBxpGS/JrE1FDC1T72EKWJ99qhzhfn
 WH6v08YfweGl1IctpWf1+8DvBfAPJ+kUTiSP09os=
To: Michael Rehder <Michael.Rehder@Amdocs.com>,
 "netmod@ietf.org" <netmod@ietf.org>
References: <AM0PR06MB40833B02760A889E273D8278E7C90@AM0PR06MB4083.eurprd06.prod.outlook.com>
 <20190717131035.5rseucu3foys6veb@anna.jacobs.jacobs-university.de>
 <AM0PR06MB408317206939E4BE8219C4A8E7C90@AM0PR06MB4083.eurprd06.prod.outlook.com>
 <20190717135414.qqvobxqcnta6lghy@anna.jacobs.jacobs-university.de>
From: Robert Varga <nite@hq.sk>
Openpgp: preference=signencrypt
Message-ID: <1ef4785d-5cab-ff62-b8fb-ed64c876e437@hq.sk>
Date: Wed, 17 Jul 2019 16:32:14 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.7.2
MIME-Version: 1.0
In-Reply-To: <20190717135414.qqvobxqcnta6lghy@anna.jacobs.jacobs-university.de>
Content-Type: multipart/signed; micalg=pgp-sha512;
 protocol="application/pgp-signature";
 boundary="QqenCvsxKvy7dXcXKFETMJQhYUSH3N476"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/RQA_3Shv9lSLX-ED9HpwrBs2VKI>
Subject: Re: [netmod] definition of "fully expanded YANG"
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: Wed, 17 Jul 2019 14:32:28 -0000

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--QqenCvsxKvy7dXcXKFETMJQhYUSH3N476
Content-Type: multipart/mixed; boundary="MjOWQRSC9Aw077D78ibM9ZfpxfkPPjp1m";
 protected-headers="v1"
From: Robert Varga <nite@hq.sk>
To: Michael Rehder <Michael.Rehder@Amdocs.com>,
 "netmod@ietf.org" <netmod@ietf.org>
Message-ID: <1ef4785d-5cab-ff62-b8fb-ed64c876e437@hq.sk>
Subject: Re: [netmod] definition of "fully expanded YANG"
References: <AM0PR06MB40833B02760A889E273D8278E7C90@AM0PR06MB4083.eurprd06.prod.outlook.com>
 <20190717131035.5rseucu3foys6veb@anna.jacobs.jacobs-university.de>
 <AM0PR06MB408317206939E4BE8219C4A8E7C90@AM0PR06MB4083.eurprd06.prod.outlook.com>
 <20190717135414.qqvobxqcnta6lghy@anna.jacobs.jacobs-university.de>
In-Reply-To: <20190717135414.qqvobxqcnta6lghy@anna.jacobs.jacobs-university.de>

--MjOWQRSC9Aw077D78ibM9ZfpxfkPPjp1m
Content-Type: text/plain; charset=utf-8
Content-Language: en-US
Content-Transfer-Encoding: quoted-printable

On 17/07/2019 15:54, Juergen Schoenwaelder wrote:
> On Wed, Jul 17, 2019 at 01:18:57PM +0000, Michael Rehder wrote:
>> Yes, inlining of everything, including augments. What you'd see in the=
 tree representation.
>> For example augments makes it particularly impossible for a consumer o=
f the YANG schema to process the schema since the final result.
>>
>> Some use cases:
>> - translating to another schema language
>> - translating to a UI dialog for data entry
>> - an accurate diff on versions
>>
>> Model-driven-design means using the "computable specification" for all=
 sorts of things, increasing the ROI of the schema definition.
>=20
> It sounds to me like you are interested in what compiler people call
> the abstract syntax tree, which is quite a different thing than the
> YANG module you start with. The easiest and most robust way to do
> translations is likely to simply expand pyang (or any other compiler
> of choice).

Depends on how you define the AST (and how many different ASTs are in
your compiler), as .yang file has an AST itself, which you then
cross-reference between modules/submodules, and you arrive at some IR,
from which you derive the effective model with whatever indices/details
your use case requires.

This is certainly possible with OpenDaylight tooling, i.e. arrive at
https://github.com/opendaylight/yangtools/blob/master/yang/yang-model-api=
/src/main/java/org/opendaylight/yangtools/yang/model/api/EffectiveModelCo=
ntext.java,
which gives you a per-module tree of statements with all RFC7950
semantic processing applied. It also contains some generally-useful
indices (like schema tree/data tree traversal) as well as references to
original statement declaration (i.e. as it appeared in .yang file, if
applicable).

Regards,
Robert


--MjOWQRSC9Aw077D78ibM9ZfpxfkPPjp1m--

--QqenCvsxKvy7dXcXKFETMJQhYUSH3N476
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQI/BAEBCgApFiEEdj+N7pgGP1gKvbdQJKB0S2uuNdsFAl0vMW4LHG5pdGVAaHEu
c2sACgkQJKB0S2uuNds4MA//WxR9tbdxU0dl0W5u9UBGKckIYZrYy9D2MPoZe/ON
jh+xw92IbcMo48tLOa5WP+rNZyyQliA6qmBNu9gc+Ba3jZM72h7fKOVR0war8y+x
JezCXQu1p9WWmQ3seNx6dgjQcCX+pjp+g4mWNMW544e5VG7pJDKZQteCxfja5ob6
o+hVyfrYIGXCqLXIa1Ia6TO7pd+FTQWolCwTw9sw/F27vTG3KmXMXWYv6MhDdpNk
7ZOI6Aw0mrRWPZc8kJ6UEchnQQ9vRo69fx/U+hoBYg5KJpL5SN4nykRGlH4EwMF1
ST/Rg9pc/JvAPmAleheRFtgY5pmo47FzAsPdh82rsvcNNQYH+BybLLi/5nA4cyPF
S6eePMaD6mK9HcqA+z8iySonAd55nh84msejAk95biMKUUB1fchWmX0z14k+xMim
vtio5a8FFGAjbVAZOJ6lsVsYePyjQOT9xV8ytEoWgiDg1tSuX1Bgy8o85ZqZyAb/
h3LmGMf791sMzM/K+VkWFlJrcX38MUzWCjgZ31iAWD4BcGAmb88a9qTNlpJzKKA5
U6O+rK1ZDZ5IHwh/LU+NOn/zW/QxzwmtpfwdSnucIynG+kToTP2vvZr+RKtjxf9F
h8O5Km962/Eac1pjuBMILfMkEYyYsDs0QTuYmEz3SSeEhY8ALMFxCygC2fzEyGzm
87Q=
=sZvq
-----END PGP SIGNATURE-----

--QqenCvsxKvy7dXcXKFETMJQhYUSH3N476--

