Re: getting dependency graph of SML source files from CM

Matthias Blume <[email protected]> Wed, 05 Aug 2009 11:06:46 -0500
Newsgroups gmane.comp.lang.sml.smlnj
Message-ID <[email protected]>
SGkgSm9lLAoKdGhlIGlkZWEgaXMgdG8gdXNlIENNLkdyYXBoLmdyYXBoLiAgVGhlIHR5cGUgZGVm
aW5pdGlvbiBpcyBpbiBsaWJyYXJ5ICQvcGdyYXBoLmNtLiAgSWYgeW91IGluY2x1ZGUgYSByZWZl
cmVuY2UgdG8gdGhhdCBpbiB5b3VyIG93biAuY20gZmlsZSwgeW91IHNob3VsZCBiZSBnb29kLiAg
KElmIHlvdSBhcmUgZXhwZXJpbWVudGluZyBhdCB0aGUgU01ML05KIGludGVyYWN0aXZlIHByb21w
dCwganVzdCBzYXkgQ00uYXV0b2xvYWQgIiQvcGdyYXBoLmNtIjspLgoKV2hpbGUgaW4gcHJpbmNp
cGxlIHlvdSBjYW4ganVzdCB3b3JrIHdpdGggdGhhdCBkYXRhIHN0cnVjdHVyZSAoc2VlIHNtbC9w
Z3JhcGgvcGdyYXBoLnNtbCBmb3IgaXRzIGRlZmluaXRpb24pIGRpcmVjdGx5LCB5b3UgY2FuIGFs
c28gdGFrZSBhZHZhbnRhZ2Ugb2YgYSBudW1iZXIgb2YgdXRpbGl0eSByb3V0aW5lcyB0aGF0IGFy
ZSBwcm92aWRlZCBieSBsaWJyYXJ5ICQvcGdyYXBoLXV0aWwuY20uICAoSWYgeW91IHdhbnQgdG8g
ZG8gdGhhdCB5b3UgbmVlZCB0byByZXF1ZXN0ICJwZ3JhcGgiIGluIGNvbmZpZy90YXJnZXRzIHdo
ZW4geW91IGluc3RhbGwgU01ML05KLiAgWW91IGNhbiBkbyB0aGlzIGFmdGVyIHRoZSBmYWN0IGFu
ZCByZS1ydW4gY29uZmlnL2luc3RhbGwuc2ggaWYgeW91IGRpZG4ndCBkbyBpdCBpbml0aWFsbHku
KQoKT25lIHBhcnRpY3VsYXIgdXRpbGl0eSByb3V0aW5lIGlzIEZvcm1hdFBvcnRhYmxlLm91dHB1
dCwgd2hpY2ggcmVuZGVycyB0aGUgZGVwZW5kZW5jeSBncmFwaCBhcyBhICJnZW5lcmljIiBTTUwg
cHJvZ3JhbSB3aGljaCBkZXNjcmliZXMgdGhlIHBvc3Qtb3JkZXIgd2FsayBvZiB0aGUgZ3JhcGgg
YW5kIHdoaWNoIGNhbiBiZSBpbnN0YW50aWF0ZWQgd2l0aCBkaWZmZXJlbnQgb3BlcmF0aW9ucyB0
byBiZSBwZXJmb3JtZWQgYXQgZWFjaCBub2RlIC0tIGZvciBleGFtcGxlIGZvciBjb21waWxhdGlv
biBvciBmb3IgcmVjb25zdHJ1Y3Rpb24gb2YgdGhlIG9yaWdpbmFsIGdyYXBoLCBidXQgdGhlIHBv
c3NpYmlsaXRpZXMgYXJlIG9wZW4tZW5kZWQgc2luY2UgeW91IGNhbiB3cml0ZSB5b3VyIG93biBz
dHJ1Y3R1cmUgIlBHT3BzIiB0byBiZSBwbHVnZ2VkIGludG8gdGhlIHByb2Nlc3MuICBKdXN0IHBs
YXkgd2l0aCB0aGlzIGFuZCB5b3UnbGwgc2VlIHdoYXQgSSBtZWFuLi4uCgpNYXR0aGlhcwogCk9u
IE1vbmRheSwgQXVndXN0IDAzLCAyMDA5LCBhdCAwNjo1NEFNLCAiSm9lIFdlbGxzIiA8amJ3QG1h
Y3MuaHcuYWMudWs+IHdyb3RlOgo+SSdtIHVzaW5nIFNNTC9OSiAxMTAuNTQuCj4KPkkgd2FudCB0
byBnZXQgb3V0cHV0IGxpa2UgdGhpcyBmb3IgYWxsIHRoZSBmaWxlcyByZWZlcmVuY2VkIGJ5IGEK
PnBhcnRpY3VsYXIgQ00gZmlsZToKPgo+ICBmaWxlMS5zbWwgZGVwZW5kcyBvbiBmaWxlMi5zbWwg
YW5kIGZpbGUyLnNpZwo+ICBmaWxlMi5zbWwgZGVwZW5kcyBvbiBmaWxlMy5zbWwgYW5kIGZpbGUz
LnNpZwo+Cj5JcyB0aGVyZSBhbnkgd2F5IHRvIGdldCBDTSB0byBnaXZlIG1lIHRoaXMgaW5mb3Jt
YXRpb24/ICBJIG5lZWQgaXQgZm9yCj5hIHByb2dyYW0gYW5hbHlzaXMgdG9vbC4gIEl0IGlzIGlt
cG9ydGFudCB0byBkbyB0aGluZ3MgaW4gdGhlIHNhbWUgd2F5Cj5hcyBDTSBkb2VzIHRoZW0uCj4K
PkkgY2FuIHVzZSBDTS5zb3VyY2VzIGxpa2UgdGhpcyB0byBnZXQgdGhlIGxpc3Qgb2YgU01MIHNv
dXJjZSBmaWxlcyBDTQo+d2lsbCB1c2U6Cj4KPiAgICBDTS5zb3VyY2VzIE5PTkUgInNvdXJjZXMu
Y20iCj4gIOKGqiBTT01FCj4gICAgICAgIFt7Y2xhc3M9InNtbCIsZGVyaXZlZD1mYWxzZSxmaWxl
PSJmaWxlMS5zbWwifSwKPiAgICAgICAgIHtjbGFzcz0iY20iLGRlcml2ZWQ9ZmFsc2UsZmlsZT0i
c291cmNlcy5jbSJ9LAo+ICAgICAgICAge2NsYXNzPSJzbWwiLGRlcml2ZWQ9ZmFsc2UsZmlsZT0i
ZmlsZTIuc21sIn0sCj4gICAgICAgICB7Y2xhc3M9InNtbCIsZGVyaXZlZD1mYWxzZSxmaWxlPSJm
aWxlMi5zaWcifSwKPiAgICAgICAgIHtjbGFzcz0ic21sIixkZXJpdmVkPWZhbHNlLGZpbGU9ImZp
bGUzLnNtbCJ9LAo+ICAgICAgICAge2NsYXNzPSJzbWwiLGRlcml2ZWQ9ZmFsc2UsZmlsZT0iZmls
ZTMuc2lnIn0sLi4uXQo+Cj5JIGRvIG5vdCBrbm93IGlmIEkgY2FuIGRlcGVuZCBvbiB0aGUgb3Jk
ZXIgb2YgdGhlIGl0ZW1zIGluIHRoZSBsaXN0Cj5vdXRwdXQgYnkgQ00uc291cmNlcy4KPgo+SSBj
YW4gdXNlIENNLkdyYXBoIGxpa2UgdGhpcyB0byBnZXQgdGhlIGRlcGVuZGVuY3kgZ3JhcGggQ00g
dXNlcyB0bwo+ZGVjaWRlIHdoaWNoIG9yZGVyIHRoZSBTTUwgZmlsZXMgbXVzdCBiZSBjb21waWxl
ZCBpbjoKPgo+ICAgIENNLkdyYXBoLmdyYXBoICJzb3VyY2VzLmNtIgo+ICDihqogU09NRQo+ICAg
ICAge2dyYXBoPUdSQVBICj4gICAgICAgICAgICAgICB7ZGVmcz1bREVGIHtsaHM9InN0cjIiLHJo
cz1TWU0gKFNUUiwiVGV4dElPIil9LAo+ICAgICAgICAgICAgICAgICAgICAgIERFRiB7bGhzPSJz
czEiLHJocz1TWU1TIFsic3RyMiJdfSwKPiAgICAgICAgICAgICAgICAgICAgICBERUYge2xocz0i
ZTMiLHJocz1JTVBPUlQge2xpYj0ibDQiLHN5bXM9InNzMSJ9fSwKPiAgICAgICAgICAgICAgICAg
ICAgICBERUYge2xocz0ic3RyNiIscmhzPVNZTSAoU1RSLCJTdHJpbmciKX0sCj4gICAgICAgICAg
ICAgICAgICAgICAgREVGIHtsaHM9InNzNSIscmhzPVNZTVMgWyJzdHI2Il19LAo+ICAgICAgICAg
ICAgICAgICAgICAgIC4uLiwKPiAgICAgICAgICAgICAgICAgICAgICBERUYge2xocz0iZTIxIixy
aHM9SU1QT1JUIHtsaWI9ImwyMiIsc3ltcz0ic3MxOSJ9fSwKPiAgICAgICAgICAgICAgICAgICAg
ICBERUYge2xocz0ic3RyMjQiLHJocz1TWU0gKFNUUiwiT3B0aW9uIil9LAo+ICAgICAgICAgICAg
ICAgICAgICAgIERFRiB7bGhzPSJzczIzIixyaHM9U1lNUyBbInN0cjI0Il19LAo+ICAgICAgICAg
ICAgICAgICAgICAgIC4uLiwKPiAgICAgICAgICAgICAgICAgICAgICBERUYKPiAgICAgICAgICAg
ICAgICAgICAgICAgIHtsaHM9ImUyNiIsCj4gICAgICAgICAgICAgICAgICAgICAgICAgcmhzPUNP
TVBJTEUKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7ZW52PSJlMjEiLHNyYz0oImZp
bGU0LnNpZyIsZmFsc2UpLHN5bXM9InNzMjcifX0sCj4gICAgICAgICAgICAgICAgICAgICAgLi4u
XSwKPiAgICAgICAgICAgICAgICBleHBvcnQ9ImUwIiwKPiAgICAgICAgICAgICAgICBpbXBvcnRz
PVsibDQiLCJsMjIiLCJsMjE0IiwibDE0NyJdfSwKPiAgICAgICBpbXBvcnRzPVstLC0sLSwtXSwK
PiAgICAgICBuYXRpdmVzcmM9Zm59Cj4KPlRoaXMgbG9va3MgbGlrZSBpdCBwcm9iYWJseSBjb250
YWlucyB0aGUgaW5mb3JtYXRpb24gSSB3YW50Lgo+Cj5VbmZvcnR1bmF0ZWx5LCB0aGUgdHlwZSBv
ZiB0aGUgZ3JhcGggcmVjb3JkIGNvbXBvbmVudCBpcyByZXBvcnRlZCBhcwo+Py5Qb3J0YWJsZUdy
YXBoLmdyYXBoLCBhbmQgdGhlcmUgc2VlbSB0byBiZSBubyBhY2Nlc3NvcnMgcHJvdmlkZWQgZm9y
Cj50aGlzIHR5cGUuCj4KPkkgY2FuIGdldCBvdXRwdXQgbGlrZSB0aGUgYWJvdmUgZnJvbSBDTS5H
cmFwaC5ncmFwaCBieSBzZXR0aW5nCj5Db250cm9sLlByaW50LnByaW50RGVwdGggYW5kIENvbnRy
b2wuUHJpbnQucHJpbnRMZW5ndGggYW5kIHVzaW5nIHRoZQo+dG9wLWxldmVsIFJFUEwncyBwcmV0
dHkgcHJpbnRlci4gIElmIG5lZWRlZCwgSSBjb3VsZCB0aGVuIHVzZSB0aGUKPmNvbXBpbGVyIHRv
Z2V0aGVyIHdpdGggbXkgb3duIGRlZmluaXRpb24gb2YgdGhlIGdyYXBoIGRhdGF0eXBlIHRvCj5w
YXJzZSBhbmQgbG9hZCB0aGUgZGF0YSwgYnV0IHRoZW4gSSB3b3VsZCBuZWVkIHRvIHVuZGVyc3Rh
bmQgdGhlIGRhdGEKPnN0cnVjdHVyZSB0byBmaWd1cmUgb3V0IGhvdyB0byBleHRyYWN0IHRoZSBp
bnRlci1maWxlIGRlcGVuZGVuY2llcy4KPkFsc28sIEknbSBhIGJpdCB3b3JyaWVkIGFib3V0IHRo
ZSB2YWx1ZSBvZiDigJxbLSwtLC0sLV3igJ0gZm9yIHRoZSBpbXBvcnRzCj5maWVsZCBhbmQgd2hh
dCBtaWdodCBiZSBoaWRkZW4gYmVoaW5kIHRoZSBoeXBoZW5zLgo+Cj5UaGFua3MgZm9yIGFueSB0
aW1lIHlvdSBjYW4gc3BlbmQgb24gYW5zd2VyaW5nIG15IHF1ZXN0aW9uIQo+Cj4tLSAKPkpvZQo+
Cj4KPi0tIAo+SGVyaW90LVdhdHQgVW5pdmVyc2l0eSBpcyBhIFNjb3R0aXNoIGNoYXJpdHkKPnJl
Z2lzdGVyZWQgdW5kZXIgY2hhcml0eSBudW1iZXIgU0MwMDAyNzguCj4KPgo+LS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tCj5MZXQgQ3J5c3RhbCBSZXBvcnRzIGhhbmRsZSB0aGUgcmVwb3J0aW5nIC0gRnJl
ZSBDcnlzdGFsIFJlcG9ydHMgMjAwOCAzMC1EYXkgCj50cmlhbC4gU2ltcGxpZnkgeW91ciByZXBv
cnQgZGVzaWduLCBpbnRlZ3JhdGlvbiBhbmQgZGVwbG95bWVudCAtIGFuZCBmb2N1cyBvbiAKPndo
YXQgeW91IGRvIGJlc3QsIGNvcmUgYXBwbGljYXRpb24gY29kaW5nLiBEaXNjb3ZlciB3aGF0J3Mg
bmV3IHdpdGggCj5DcnlzdGFsIFJlcG9ydHMgbm93LiAgaHR0cDovL3Auc2YubmV0L3NmdS9ib2Jq
LWp1bHkKPl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj5T
bWxuai1saXN0IG1haWxpbmcgbGlzdAo+U21sbmotbGlzdEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQK
Pmh0dHBzOi8vbGlzdHMuc291cmNlZm9yZ2UubmV0L2xpc3RzL2xpc3RpbmZvL3NtbG5qLWxpc3QK
Pgo+CgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KTGV0IENyeXN0YWwgUmVwb3J0cyBoYW5kbGUgdGhl
IHJlcG9ydGluZyAtIEZyZWUgQ3J5c3RhbCBSZXBvcnRzIDIwMDggMzAtRGF5IAp0cmlhbC4gU2lt
cGxpZnkgeW91ciByZXBvcnQgZGVzaWduLCBpbnRlZ3JhdGlvbiBhbmQgZGVwbG95bWVudCAtIGFu
ZCBmb2N1cyBvbiAKd2hhdCB5b3UgZG8gYmVzdCwgY29yZSBhcHBsaWNhdGlvbiBjb2RpbmcuIERp
c2NvdmVyIHdoYXQncyBuZXcgd2l0aCAKQ3J5c3RhbCBSZXBvcnRzIG5vdy4gIGh0dHA6Ly9wLnNm
Lm5ldC9zZnUvYm9iai1qdWx5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fClNtbG5qLWxpc3QgbWFpbGluZyBsaXN0ClNtbG5qLWxpc3RAbGlzdHMuc291cmNl
Zm9yZ2UubmV0Cmh0dHBzOi8vbGlzdHMuc291cmNlZm9yZ2UubmV0L2xpc3RzL2xpc3RpbmZvL3Nt
bG5qLWxpc3QK