Re: getting dependency graph of SML source files from CM

Joe Wells <[email protected]> Mon, 10 Aug 2009 07:16:49 +0100
Newsgroups gmane.comp.lang.sml.smlnj
Message-ID <[email protected]>
TWF0dGhpYXMgQmx1bWUgPG1hdHRoaWFzX2JsdW1lQG1hYy5jb20+IHdyaXRlczoKCj4gSGkgSm9l
LAo+Cj4gdGhlIGlkZWEgaXMgdG8gdXNlIENNLkdyYXBoLmdyYXBoLiAgVGhlIHR5cGUgZGVmaW5p
dGlvbiBpcyBpbgo+IGxpYnJhcnkgJC9wZ3JhcGguY20uICBJZiB5b3UgaW5jbHVkZSBhIHJlZmVy
ZW5jZSB0byB0aGF0IGluIHlvdXIgb3duCj4gLmNtIGZpbGUsIHlvdSBzaG91bGQgYmUgZ29vZC4g
IChJZiB5b3UgYXJlIGV4cGVyaW1lbnRpbmcgYXQgdGhlCj4gU01ML05KIGludGVyYWN0aXZlIHBy
b21wdCwganVzdCBzYXkgQ00uYXV0b2xvYWQgIiQvcGdyYXBoLmNtIjspLgoKRXhjZWxsZW50IQoK
SXMgdGhlcmUgYSBnZW5lcmFsIHdheSBJIGNvdWxkIGhhdmUgZm91bmQgdGhpcyBvdXQ/ICBIb3cg
Y2FuIEkgZmluZAphbGwgdGhlIHZhbHVlcyBvZiAkRk9PLmNtIHdoaWNoIGNvbnRyaWJ1dGUgaW4g
c29tZSB3YXkgdG8gbW9kdWxlcyBDTQphbHJlYWR5IGtub3dzIHNvbWV0aGluZyBhYm91dD8gIEkg
bmVlZCB0byBrbm93IHRoaXMgdG8gZm9yY2UgQ00gdG8KYXV0b2xvYWQgYWxsIG9mIHRoZW0gdG8g
bWFrZSBhbGwgPy5YeXp6eS5mb28gYmUgcmVzb2x2ZWQgc28gSSBjYW4KcHJpbnQgdGhlIHR5cGVz
IG9mIGV2ZXJ5dGhpbmcgQ00ga25vd3MgYWJvdXQuCgo+IFdoaWxlIGluIHByaW5jaXBsZSB5b3Ug
Y2FuIGp1c3Qgd29yayB3aXRoIHRoYXQgZGF0YSBzdHJ1Y3R1cmUgKHNlZQo+IHNtbC9wZ3JhcGgv
cGdyYXBoLnNtbCBmb3IgaXRzIGRlZmluaXRpb24pIGRpcmVjdGx5LCB5b3UgY2FuIGFsc28KPiB0
YWtlIGFkdmFudGFnZSBvZiBhIG51bWJlciBvZiB1dGlsaXR5IHJvdXRpbmVzIHRoYXQgYXJlIHBy
b3ZpZGVkIGJ5Cj4gbGlicmFyeSAkL3BncmFwaC11dGlsLmNtLiAgKElmIHlvdSB3YW50IHRvIGRv
IHRoYXQgeW91IG5lZWQgdG8KPiByZXF1ZXN0ICJwZ3JhcGgiIGluIGNvbmZpZy90YXJnZXRzIHdo
ZW4geW91IGluc3RhbGwgU01ML05KLiAgWW91IGNhbgo+IGRvIHRoaXMgYWZ0ZXIgdGhlIGZhY3Qg
YW5kIHJlLXJ1biBjb25maWcvaW5zdGFsbC5zaCBpZiB5b3UgZGlkbid0IGRvCj4gaXQgaW5pdGlh
bGx5LikKCldoYXQgZG8gSSBkbyBpZiBteSBMaW51eCBkaXN0cmlidXRpb24gZGlkIG5vdCBpbnN0
YWxsIHRoaXM/ICBXaGF0IGlzCnRoZSBjb3JyZWN0IHByb2NlZHVyZSAobm90IGluY2x1ZGluZyBp
bnN0YWxsaW5nIENNTC9OSiBmcm9tIHNjcmF0Y2gKbXlzZWxmKT8KCj4gT25lIHBhcnRpY3VsYXIg
dXRpbGl0eSByb3V0aW5lIGlzIEZvcm1hdFBvcnRhYmxlLm91dHB1dCwgd2hpY2gKPiByZW5kZXJz
IHRoZSBkZXBlbmRlbmN5IGdyYXBoIGFzIGEgImdlbmVyaWMiIFNNTCBwcm9ncmFtIHdoaWNoCj4g
ZGVzY3JpYmVzIHRoZSBwb3N0LW9yZGVyIHdhbGsgb2YgdGhlIGdyYXBoIGFuZCB3aGljaCBjYW4g
YmUKPiBpbnN0YW50aWF0ZWQgd2l0aCBkaWZmZXJlbnQgb3BlcmF0aW9ucyB0byBiZSBwZXJmb3Jt
ZWQgYXQgZWFjaCBub2RlCj4gLS0gZm9yIGV4YW1wbGUgZm9yIGNvbXBpbGF0aW9uIG9yIGZvciBy
ZWNvbnN0cnVjdGlvbiBvZiB0aGUgb3JpZ2luYWwKPiBncmFwaCwgYnV0IHRoZSBwb3NzaWJpbGl0
aWVzIGFyZSBvcGVuLWVuZGVkIHNpbmNlIHlvdSBjYW4gd3JpdGUgeW91cgo+IG93biBzdHJ1Y3R1
cmUgIlBHT3BzIiB0byBiZSBwbHVnZ2VkIGludG8gdGhlIHByb2Nlc3MuICBKdXN0IHBsYXkKPiB3
aXRoIHRoaXMgYW5kIHlvdSdsbCBzZWUgd2hhdCBJIG1lYW4uLi4KClRoYW5rcyEKCi0tIApKb2UK
Cj4gTWF0dGhpYXMKPiAgCj4gT24gTW9uZGF5LCBBdWd1c3QgMDMsIDIwMDksIGF0IDA2OjU0QU0s
ICJKb2UgV2VsbHMiIDxqYndAbWFjcy5ody5hYy51az4gd3JvdGU6Cj4+SSdtIHVzaW5nIFNNTC9O
SiAxMTAuNTQuCj4+Cj4+SSB3YW50IHRvIGdldCBvdXRwdXQgbGlrZSB0aGlzIGZvciBhbGwgdGhl
IGZpbGVzIHJlZmVyZW5jZWQgYnkgYQo+PnBhcnRpY3VsYXIgQ00gZmlsZToKPj4KPj4gIGZpbGUx
LnNtbCBkZXBlbmRzIG9uIGZpbGUyLnNtbCBhbmQgZmlsZTIuc2lnCj4+ICBmaWxlMi5zbWwgZGVw
ZW5kcyBvbiBmaWxlMy5zbWwgYW5kIGZpbGUzLnNpZwo+Pgo+PklzIHRoZXJlIGFueSB3YXkgdG8g
Z2V0IENNIHRvIGdpdmUgbWUgdGhpcyBpbmZvcm1hdGlvbj8gIEkgbmVlZCBpdCBmb3IKPj5hIHBy
b2dyYW0gYW5hbHlzaXMgdG9vbC4gIEl0IGlzIGltcG9ydGFudCB0byBkbyB0aGluZ3MgaW4gdGhl
IHNhbWUgd2F5Cj4+YXMgQ00gZG9lcyB0aGVtLgo+Pgo+PkkgY2FuIHVzZSBDTS5zb3VyY2VzIGxp
a2UgdGhpcyB0byBnZXQgdGhlIGxpc3Qgb2YgU01MIHNvdXJjZSBmaWxlcyBDTQo+PndpbGwgdXNl
Ogo+Pgo+PiAgICBDTS5zb3VyY2VzIE5PTkUgInNvdXJjZXMuY20iCj4+ICDihqogU09NRQo+PiAg
ICAgICAgW3tjbGFzcz0ic21sIixkZXJpdmVkPWZhbHNlLGZpbGU9ImZpbGUxLnNtbCJ9LAo+PiAg
ICAgICAgIHtjbGFzcz0iY20iLGRlcml2ZWQ9ZmFsc2UsZmlsZT0ic291cmNlcy5jbSJ9LAo+PiAg
ICAgICAgIHtjbGFzcz0ic21sIixkZXJpdmVkPWZhbHNlLGZpbGU9ImZpbGUyLnNtbCJ9LAo+PiAg
ICAgICAgIHtjbGFzcz0ic21sIixkZXJpdmVkPWZhbHNlLGZpbGU9ImZpbGUyLnNpZyJ9LAo+PiAg
ICAgICAgIHtjbGFzcz0ic21sIixkZXJpdmVkPWZhbHNlLGZpbGU9ImZpbGUzLnNtbCJ9LAo+PiAg
ICAgICAgIHtjbGFzcz0ic21sIixkZXJpdmVkPWZhbHNlLGZpbGU9ImZpbGUzLnNpZyJ9LC4uLl0K
Pj4KPj5JIGRvIG5vdCBrbm93IGlmIEkgY2FuIGRlcGVuZCBvbiB0aGUgb3JkZXIgb2YgdGhlIGl0
ZW1zIGluIHRoZSBsaXN0Cj4+b3V0cHV0IGJ5IENNLnNvdXJjZXMuCj4+Cj4+SSBjYW4gdXNlIENN
LkdyYXBoIGxpa2UgdGhpcyB0byBnZXQgdGhlIGRlcGVuZGVuY3kgZ3JhcGggQ00gdXNlcyB0bwo+
PmRlY2lkZSB3aGljaCBvcmRlciB0aGUgU01MIGZpbGVzIG11c3QgYmUgY29tcGlsZWQgaW46Cj4+
Cj4+ICAgIENNLkdyYXBoLmdyYXBoICJzb3VyY2VzLmNtIgo+PiAg4oaqIFNPTUUKPj4gICAgICB7
Z3JhcGg9R1JBUEgKPj4gICAgICAgICAgICAgICB7ZGVmcz1bREVGIHtsaHM9InN0cjIiLHJocz1T
WU0gKFNUUiwiVGV4dElPIil9LAo+PiAgICAgICAgICAgICAgICAgICAgICBERUYge2xocz0ic3Mx
IixyaHM9U1lNUyBbInN0cjIiXX0sCj4+ICAgICAgICAgICAgICAgICAgICAgIERFRiB7bGhzPSJl
MyIscmhzPUlNUE9SVCB7bGliPSJsNCIsc3ltcz0ic3MxIn19LAo+PiAgICAgICAgICAgICAgICAg
ICAgICBERUYge2xocz0ic3RyNiIscmhzPVNZTSAoU1RSLCJTdHJpbmciKX0sCj4+ICAgICAgICAg
ICAgICAgICAgICAgIERFRiB7bGhzPSJzczUiLHJocz1TWU1TIFsic3RyNiJdfSwKPj4gICAgICAg
ICAgICAgICAgICAgICAgLi4uLAo+PiAgICAgICAgICAgICAgICAgICAgICBERUYge2xocz0iZTIx
IixyaHM9SU1QT1JUIHtsaWI9ImwyMiIsc3ltcz0ic3MxOSJ9fSwKPj4gICAgICAgICAgICAgICAg
ICAgICAgREVGIHtsaHM9InN0cjI0IixyaHM9U1lNIChTVFIsIk9wdGlvbiIpfSwKPj4gICAgICAg
ICAgICAgICAgICAgICAgREVGIHtsaHM9InNzMjMiLHJocz1TWU1TIFsic3RyMjQiXX0sCj4+ICAg
ICAgICAgICAgICAgICAgICAgIC4uLiwKPj4gICAgICAgICAgICAgICAgICAgICAgREVGCj4+ICAg
ICAgICAgICAgICAgICAgICAgICAge2xocz0iZTI2IiwKPj4gICAgICAgICAgICAgICAgICAgICAg
ICAgcmhzPUNPTVBJTEUKPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2Vudj0iZTIx
IixzcmM9KCJmaWxlNC5zaWciLGZhbHNlKSxzeW1zPSJzczI3In19LAo+PiAgICAgICAgICAgICAg
ICAgICAgICAuLi5dLAo+PiAgICAgICAgICAgICAgICBleHBvcnQ9ImUwIiwKPj4gICAgICAgICAg
ICAgICAgaW1wb3J0cz1bImw0IiwibDIyIiwibDIxNCIsImwxNDciXX0sCj4+ICAgICAgIGltcG9y
dHM9Wy0sLSwtLC1dLAo+PiAgICAgICBuYXRpdmVzcmM9Zm59Cj4+Cj4+VGhpcyBsb29rcyBsaWtl
IGl0IHByb2JhYmx5IGNvbnRhaW5zIHRoZSBpbmZvcm1hdGlvbiBJIHdhbnQuCj4+Cj4+VW5mb3J0
dW5hdGVseSwgdGhlIHR5cGUgb2YgdGhlIGdyYXBoIHJlY29yZCBjb21wb25lbnQgaXMgcmVwb3J0
ZWQgYXMKPj4/LlBvcnRhYmxlR3JhcGguZ3JhcGgsIGFuZCB0aGVyZSBzZWVtIHRvIGJlIG5vIGFj
Y2Vzc29ycyBwcm92aWRlZCBmb3IKPj50aGlzIHR5cGUuCj4+Cj4+SSBjYW4gZ2V0IG91dHB1dCBs
aWtlIHRoZSBhYm92ZSBmcm9tIENNLkdyYXBoLmdyYXBoIGJ5IHNldHRpbmcKPj5Db250cm9sLlBy
aW50LnByaW50RGVwdGggYW5kIENvbnRyb2wuUHJpbnQucHJpbnRMZW5ndGggYW5kIHVzaW5nIHRo
ZQo+PnRvcC1sZXZlbCBSRVBMJ3MgcHJldHR5IHByaW50ZXIuICBJZiBuZWVkZWQsIEkgY291bGQg
dGhlbiB1c2UgdGhlCj4+Y29tcGlsZXIgdG9nZXRoZXIgd2l0aCBteSBvd24gZGVmaW5pdGlvbiBv
ZiB0aGUgZ3JhcGggZGF0YXR5cGUgdG8KPj5wYXJzZSBhbmQgbG9hZCB0aGUgZGF0YSwgYnV0IHRo
ZW4gSSB3b3VsZCBuZWVkIHRvIHVuZGVyc3RhbmQgdGhlIGRhdGEKPj5zdHJ1Y3R1cmUgdG8gZmln
dXJlIG91dCBob3cgdG8gZXh0cmFjdCB0aGUgaW50ZXItZmlsZSBkZXBlbmRlbmNpZXMuCj4+QWxz
bywgSSdtIGEgYml0IHdvcnJpZWQgYWJvdXQgdGhlIHZhbHVlIG9mIOKAnFstLC0sLSwtXeKAnSBm
b3IgdGhlIGltcG9ydHMKPj5maWVsZCBhbmQgd2hhdCBtaWdodCBiZSBoaWRkZW4gYmVoaW5kIHRo
ZSBoeXBoZW5zLgo+Pgo+PlRoYW5rcyBmb3IgYW55IHRpbWUgeW91IGNhbiBzcGVuZCBvbiBhbnN3
ZXJpbmcgbXkgcXVlc3Rpb24hCj4+Cj4+LS0gCj4+Sm9lCj4+Cj4+Cj4+LS0gCj4+SGVyaW90LVdh
dHQgVW5pdmVyc2l0eSBpcyBhIFNjb3R0aXNoIGNoYXJpdHkKPj5yZWdpc3RlcmVkIHVuZGVyIGNo
YXJpdHkgbnVtYmVyIFNDMDAwMjc4Lgo+Pgo+Pgo+Pi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+Pkxl
dCBDcnlzdGFsIFJlcG9ydHMgaGFuZGxlIHRoZSByZXBvcnRpbmcgLSBGcmVlIENyeXN0YWwgUmVw
b3J0cyAyMDA4IDMwLURheSAKPj50cmlhbC4gU2ltcGxpZnkgeW91ciByZXBvcnQgZGVzaWduLCBp
bnRlZ3JhdGlvbiBhbmQgZGVwbG95bWVudCAtIGFuZCBmb2N1cyBvbiAKPj53aGF0IHlvdSBkbyBi
ZXN0LCBjb3JlIGFwcGxpY2F0aW9uIGNvZGluZy4gRGlzY292ZXIgd2hhdCdzIG5ldyB3aXRoIAo+
PkNyeXN0YWwgUmVwb3J0cyBub3cuICBodHRwOi8vcC5zZi5uZXQvc2Z1L2JvYmotanVseQo+Pl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+U21sbmotbGlz
dCBtYWlsaW5nIGxpc3QKPj5TbWxuai1saXN0QGxpc3RzLnNvdXJjZWZvcmdlLm5ldAo+Pmh0dHBz
Oi8vbGlzdHMuc291cmNlZm9yZ2UubmV0L2xpc3RzL2xpc3RpbmZvL3NtbG5qLWxpc3QKPj4KPj4K
CgotLSAKSGVyaW90LVdhdHQgVW5pdmVyc2l0eSBpcyBhIFNjb3R0aXNoIGNoYXJpdHkKcmVnaXN0
ZXJlZCB1bmRlciBjaGFyaXR5IG51bWJlciBTQzAwMDI3OC4KCgotLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KTGV0IENyeXN0YWwgUmVwb3J0cyBoYW5kbGUgdGhlIHJlcG9ydGluZyAtIEZyZWUgQ3J5c3Rh
bCBSZXBvcnRzIDIwMDggMzAtRGF5IAp0cmlhbC4gU2ltcGxpZnkgeW91ciByZXBvcnQgZGVzaWdu
LCBpbnRlZ3JhdGlvbiBhbmQgZGVwbG95bWVudCAtIGFuZCBmb2N1cyBvbiAKd2hhdCB5b3UgZG8g
YmVzdCwgY29yZSBhcHBsaWNhdGlvbiBjb2RpbmcuIERpc2NvdmVyIHdoYXQncyBuZXcgd2l0aCAK
Q3J5c3RhbCBSZXBvcnRzIG5vdy4gIGh0dHA6Ly9wLnNmLm5ldC9zZnUvYm9iai1qdWx5Cl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClNtbG5qLWxpc3QgbWFp
bGluZyBsaXN0ClNtbG5qLWxpc3RAbGlzdHMuc291cmNlZm9yZ2UubmV0Cmh0dHBzOi8vbGlzdHMu
c291cmNlZm9yZ2UubmV0L2xpc3RzL2xpc3RpbmZvL3NtbG5qLWxpc3QK