X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com Date: Sat, 18 Oct 2014 13:20:58 +0200 (CEST) X-X-Sender: igor2 AT igor2priv To: geda-user AT delorie DOT com X-Debug: to=geda-user AT delorie DOT com from="gedau AT igor2 DOT repo DOT hu" From: gedau AT igor2 DOT repo DOT hu Subject: Re: [geda-user] gnetlist backend In-Reply-To: Message-ID: References: User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-1363946753-1413631258=:3358" Reply-To: geda-user AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: geda-user AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --0-1363946753-1413631258=:3358 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed On Sat, 18 Oct 2014, gedau AT igor2 DOT repo DOT hu wrote: > 1. is there a ready-to-use gnetlist backend that prints the netlist in some > easy-to-process text format and prints _all_ attributes of all components in > an also easy-to-process format? I have a working prototype already (attached). It's a copy of the osmond backend. Please note that I don't know anything about scheme, so my code may look strange. The output is one-line-per-record with fields separated by tab. First field is record type. Things are announced before details are given, e.g. before listing pin attributes the pin names of the element is listed. I couldn't figure how to: - get a list of attribute names attached to a net - access attributes attached to a net, other than its netname - get a list of attribute names attached to a pin Could someone help with these so I can make the backend more generic? Once this works, as I'm already knee-deep in scheme I will probably bite the bullet and write a few other similar backends, exporting to lihata, xml, indented text and json (in this order of priority). TIA, Tibor --0-1363946753-1413631258=:3358 Content-Type: TEXT/PLAIN; charset=US-ASCII; name=gnet-dumptext.scm Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename=gnet-dumptext.scm Ozs7IGdFREEgLSBHUEwgRWxlY3Ryb25pYyBEZXNpZ24gQXV0b21hdGlvbg0K Ozs7IGduZXRsaXN0IGJhY2sgZW5kIGZvciBkdW1waW5nIGFsbCBhdHRyaWJ1 dGVzIGFuZCBuZXRsaXN0IGluIHRleHQgZm9ybWF0DQo7OzsgQ29weXJpZ2h0 IChDKSAyMDE0IFRpYm9yICdJZ29yMicgUGFsaW5rYXMNCjs7Ow0KOzs7IFRo aXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp YnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQo7OzsgaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNo ZWQgYnkNCjs7OyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo ZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KOzs7IChhdCB5b3Vy IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQo7OzsNCjs7OyBUaGlzIHBy b2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs IGJlIHVzZWZ1bCwNCjs7OyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KOzs7IE1FUkNI QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RS4gIFNlZSB0aGUNCjs7OyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm b3IgbW9yZSBkZXRhaWxzLg0KOzs7DQo7OzsgWW91IHNob3VsZCBoYXZlIHJl Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UNCjs7OyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0 ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KOzs7IEZvdW5kYXRpb24sIEluYy4s IDY3NSBNYXNzIEF2ZSwgQ2FtYnJpZGdlLCBNQSAwMjEzOSwgVVNBLg0KDQoN CihkZWZpbmUgZHVtcHRleHQ6c2VwYXJhdG9yICIJIikNCg0KDQo7Ow0KOzsg UGFydHMgbGlzdCANCjs7DQoNCg0KKGRlZmluZSBkdW1wdGV4dDp3cml0ZS1w aW4tYXR0cmliIChsYW1iZGEgKHBvcnQgcGFja2FnZSBwaW5udW1iZXIgcGlu YXR0cmliKQ0KKGJlZ2luIA0KCShkaXNwbGF5ICJwaW4tYXR0cmliIiBwb3J0 KQ0KCShkaXNwbGF5IGR1bXB0ZXh0OnNlcGFyYXRvciBwb3J0KQ0KCShkaXNw bGF5IHBhY2thZ2UgcG9ydCkNCgkoZGlzcGxheSAiLSIgcG9ydCkNCgkoZGlz cGxheSBwaW5udW1iZXIgcG9ydCkNCgkoZGlzcGxheSBkdW1wdGV4dDpzZXBh cmF0b3IgcG9ydCkNCg0KCShkaXNwbGF5IHBpbmF0dHJpYiBwb3J0KQ0KCShk aXNwbGF5IGR1bXB0ZXh0OnNlcGFyYXRvciBwb3J0KQ0KCShkaXNwbGF5IChn bmV0bGlzdDpnZXQtYXR0cmlidXRlLWJ5LXBpbm51bWJlciBwYWNrYWdlIHBp bm51bWJlciBwaW5hdHRyaWIpIHBvcnQpDQoJKG5ld2xpbmUgcG9ydCkNCikp KQ0KDQooZGVmaW5lIGR1bXB0ZXh0OndyaXRlLXBpbnMgKGxhbWJkYSAocG9y dCBwYWNrYWdlKQ0KKGJlZ2luIA0KCShkaXNwbGF5ICJlbGVtZW50LXBpbnMi IHBvcnQpDQoJKGRpc3BsYXkgZHVtcHRleHQ6c2VwYXJhdG9yIHBvcnQpDQoJ KGRpc3BsYXkgcGFja2FnZSBwb3J0KQ0KDQoNCg0KOyBydW4gdGhlc2Ugb24g cGlubGlzdA0KCShsZXQgKChwaW5saXN0IChnbmV0bGlzdDpnZXQtcGlucyBw YWNrYWdlKSkpIChiZWdpbg0KCQk7IHByaW50IHRoZSBwaW4gbGlzdA0KCQko bWFwDQoJCQkobGFtYmRhIChwaW4pDQoJCQkJKGJlZ2luDQoJCQkJCShkaXNw bGF5IGR1bXB0ZXh0OnNlcGFyYXRvciBwb3J0KQ0KCQkJCQkoZGlzcGxheSBw YWNrYWdlIHBvcnQpDQoJCQkJCShkaXNwbGF5ICItIiBwb3J0KQ0KCQkJCQko ZGlzcGxheSBwaW4gcG9ydCkNCgkJCQkpDQoJCQkpDQoJCQlwaW5saXN0DQoJ CSkNCgkJKG5ld2xpbmUgcG9ydCkNCg0KCQk7IHByaW50IGVhY2ggcGluDQoJ CShtYXANCgkJCShsYW1iZGEgKHBpbikNCgkJCQkoYmVnaW4NCgkJCQkJKGR1 bXB0ZXh0OndyaXRlLXBpbi1hdHRyaWIgcG9ydCBwYWNrYWdlIHBpbiAicGlu c2VxIikNCgkJCQkJKGR1bXB0ZXh0OndyaXRlLXBpbi1hdHRyaWIgcG9ydCBw YWNrYWdlIHBpbiAicGludHlwZSIpDQoJCQkJCShkdW1wdGV4dDp3cml0ZS1w aW4tYXR0cmliIHBvcnQgcGFja2FnZSBwaW4gInBpbmxhYmVsIikNCgkJCQkp DQoJCQkpDQoJCQlwaW5saXN0DQoJCSkNCgkpDQoJKQ0KDQopKSkNCg0KDQoo ZGVmaW5lIGR1bXB0ZXh0OnBhcnRzDQogICAobGFtYmRhIChwb3J0IGxzKQ0K ICAgICAgKGlmIChub3QgKG51bGw/IGxzKSkNCiAgICAgICAgIChsZXQgKChw YWNrYWdlIChjYXIgbHMpKSkNCiAgICAgICAgICAgIChiZWdpbg0KCShkaXNw bGF5ICJlbGVtZW50IiBwb3J0KQ0KCShkaXNwbGF5IGR1bXB0ZXh0OnNlcGFy YXRvciBwb3J0KQ0KCShkaXNwbGF5IChnbmV0bGlzdDpnZXQtcGFja2FnZS1h dHRyaWJ1dGUgcGFja2FnZSAicmVmZGVzIikgcG9ydCkNCgkobmV3bGluZSBw b3J0KQ0KDQoJKGR1bXB0ZXh0OndyaXRlLXBpbnMgcG9ydCBwYWNrYWdlKQ0K DQoJKG1hcA0KCQkobGFtYmRhICh4KQ0KCQkJKGJlZ2luDQoJCQkJKGRpc3Bs YXkgImVsZW1lbnQtYXR0cmliIiBwb3J0KQ0KCQkJCShkaXNwbGF5IGR1bXB0 ZXh0OnNlcGFyYXRvciBwb3J0KQ0KCQkJCShkaXNwbGF5IChnbmV0bGlzdDpn ZXQtcGFja2FnZS1hdHRyaWJ1dGUgcGFja2FnZSAicmVmZGVzIikgcG9ydCkN CgkJCQkoZGlzcGxheSBkdW1wdGV4dDpzZXBhcmF0b3IgcG9ydCkNCgkJCQko ZGlzcGxheSB4IHBvcnQpDQoJCQkJKGRpc3BsYXkgZHVtcHRleHQ6c2VwYXJh dG9yIHBvcnQpDQoJCQkJKGRpc3BsYXkgKGduZXRsaXN0OmdldC1wYWNrYWdl LWF0dHJpYnV0ZSBwYWNrYWdlIHgpIHBvcnQpDQoJCQkJKG5ld2xpbmUgcG9y dCkNCgkJCSkNCgkJKQ0KCQkoZ25ldGxpc3Q6dmFtcy1nZXQtcGFja2FnZS1h dHRyaWJ1dGVzIHBhY2thZ2UpDQoJKQ0KDQoNCiAgICAgICAgICAgICAgIChk dW1wdGV4dDpwYXJ0cyBwb3J0IChjZHIgbHMpKSkpKSkpDQoNCjs7DQo7OyBM aXN0IGFsbCBjb25uZWN0aW9ucyB0byBhIG5ldA0KOzsNCihkZWZpbmUgKGR1 bXB0ZXh0Omxpc3QtY29ubmVjdGlvbnMgbmV0cykNCiAgKGxldCAoKGsgIiIp KQ0KICAgIChmb3ItZWFjaCAobGFtYmRhIChpbi1zdHJpbmcpDQogICAgICAg ICAgICAgICAgKHNldCEgayAoc3RyaW5nLWFwcGVuZCBrIGluLXN0cmluZykp KQ0KICAgICAgICAgICAgICAobWFwIChsYW1iZGEgKG5ldCkNCiAgICAgICAg ICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kIGR1bXB0ZXh0OnNlcGFyYXRv ciAoY2FyIG5ldCkgIi0iIChjYXIgKGNkciBuZXQpKSkpDQogICAgICAgICAg ICAgICAgICAgbmV0cykpDQogICBrKSkNCg0KOw0KOyBXcml0ZSBvdXQgZWFj aCBzaWduYWwNCjsNCihkZWZpbmUgZHVtcHRleHQ6d3JpdGUtc2lnbmFsDQog ICAobGFtYmRhIChwb3J0IHNpZ25hbHMpDQogICAgICAoaWYgKG5vdCAobnVs bD8gc2lnbmFscykpDQogICAgICAgICAobGV0ICgoc2lnbmFsIChjYXIgc2ln bmFscykpKQ0KCSAgICAoYmVnaW4NCgkgICAgICAgKGRpc3BsYXkgIm5ldCIg cG9ydCApDQoJICAgICAgIChkaXNwbGF5IGR1bXB0ZXh0OnNlcGFyYXRvciBw b3J0KQ0KCSAgICAgICAoZGlzcGxheSBzaWduYWwgcG9ydCkNCgkgICAgICAg KG5ld2xpbmUgcG9ydCkNCg0KCSAgICAgICAoZGlzcGxheSAibmV0LWNvbm5z IiBwb3J0ICkNCgkgICAgICAgKGRpc3BsYXkgZHVtcHRleHQ6c2VwYXJhdG9y IHBvcnQpDQoJICAgICAgIChkaXNwbGF5IHNpZ25hbCBwb3J0KQ0KCSAgICAg ICAoZGlzcGxheSAoZHVtcHRleHQ6bGlzdC1jb25uZWN0aW9ucyANCgkgICAg ICAgKGduZXRsaXN0OmdldC1hbGwtY29ubmVjdGlvbnMgc2lnbmFsKSkgcG9y dCkNCg0KCSAgICAgICAobmV3bGluZSBwb3J0KQ0KCSAgICAgICAoZHVtcHRl eHQ6d3JpdGUtc2lnbmFsIHBvcnQgKGNkciBzaWduYWxzKSkpKSkpKQ0KCSAg ICAgICAgICAgICAgDQo7Ow0KOzsgV3JpdGUgb3V0IGFsbCB0aGUgc2lnbmFs cw0KOzsJICAgICAgIA0KKGRlZmluZSBkdW1wdGV4dDpzaWduYWwNCiAgIChs YW1iZGEgKHBvcnQpDQogICAgICAobGV0ICgoYWxsLXVuaXEtbmV0cyAoZ25l dGxpc3Q6Z2V0LWFsbC11bmlxdWUtbmV0cyAiZHVtbXkiKSkpDQogICAgICAg ICAoZHVtcHRleHQ6d3JpdGUtc2lnbmFsIHBvcnQgYWxsLXVuaXEtbmV0cykp KSkNCg0KDQooZGVmaW5lIGR1bXB0ZXh0IA0KICAgKGxhbWJkYSAob3V0cHV0 LWZpbGVuYW1lKQ0KICAgICAgKGxldCAoKHBvcnQgKG9wZW4tb3V0cHV0LWZp bGUgb3V0cHV0LWZpbGVuYW1lKSkpDQogICAgICAgICAoYmVnaW4NCgkgICAg KGR1bXB0ZXh0OnBhcnRzIHBvcnQgcGFja2FnZXMpDQoJICAgIChkdW1wdGV4 dDpzaWduYWwgcG9ydCkNCiAgICAgICAgICkNCiAgICAgICAgIChjbG9zZS1v dXRwdXQtcG9ydCBwb3J0KSkpKQ0K --0-1363946753-1413631258=:3358--