]> granicus.if.org Git - graphviz/commitdiff
make start at modgraph.pl perl scripting demo
authorellson <devnull@localhost>
Fri, 18 Nov 2005 19:00:16 +0000 (19:00 +0000)
committerellson <devnull@localhost>
Fri, 18 Nov 2005 19:00:16 +0000 (19:00 +0000)
tclpkg/gv/demo/modgraph.pl [new file with mode: 0755]

diff --git a/tclpkg/gv/demo/modgraph.pl b/tclpkg/gv/demo/modgraph.pl
new file mode 100755 (executable)
index 0000000..8a634d7
--- /dev/null
@@ -0,0 +1,41 @@
+#!/usr/bin/perl
+
+# display the kernel module dependencies
+
+# author: John Ellson <ellson@research.att.com>
+
+#use lib "/usr/lib/graphviz/perl";
+use lib "/home/ellson/FIX/Linux.i686/lib/graphviz/perl";
+use gv;
+
+$g = gv::digraph "G";
+gv::setv($g, "rankdir", "LR");
+gv::setv($g, "nodesep", "0.05");
+gv::setv($g, "node", "shape", "box");
+gv::setv($g, "node", "width", "0");
+gv::setv($g, "node", "height", "0");
+gv::setv($g, "node", "margin", ".03");
+gv::setv($g, "node", "fontsize", "8");
+gv::setv($g, "node", "fontname", "helvetica");
+gv::setv($g, "edge", "arrowsize", ".4");
+
+#FIXME - complete translation to perl
+
+#f = File.open('/proc/modules', mode="r")
+#while ! f.eof do
+#      rec = f.gets()
+#
+#    for mod, usedbylist in string.gfind(rec, "([_%w]+) %w+ %w+ ([-,_%w]+)") do
+#       n = gv.node(G, mod)
+#       for usedby in string.gfind(usedbylist, "([-_%w]+)") do
+#          if (usedby ~= '-') and (usedby ~= '') then
+#             gv.edge(n, gv.node(G, usedby))
+#          end
+#       end
+#    end
+#
+#end   
+#f.close
+
+gv::layout($g, "dot");
+gv::render($g, "gtk");