]> granicus.if.org Git - graphviz/commitdiff
add lua demo script
authorellson <devnull@localhost>
Tue, 18 Oct 2005 21:15:19 +0000 (21:15 +0000)
committerellson <devnull@localhost>
Tue, 18 Oct 2005 21:15:19 +0000 (21:15 +0000)
tclpkg/gv/demo/modgraph.lua [new file with mode: 0755]
tclpkg/gv/demo/modgraph.py
tclpkg/gv/demo/modgraph.tcl

diff --git a/tclpkg/gv/demo/modgraph.lua b/tclpkg/gv/demo/modgraph.lua
new file mode 100755 (executable)
index 0000000..6920ae2
--- /dev/null
@@ -0,0 +1,35 @@
+#!/usr/bin/lua
+
+-- display the kernel module dependencies
+
+-- author: John Ellson <ellson@research.att.com>
+
+lib = loadlib('/usr/lib64/graphviz/lua/libgv_lua.so','Gv_Init')
+assert(lib)()
+
+modules = io.lines('/proc/modules') 
+
+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')
+
+for rec in modules do
+   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
+
+gv.layout(G, 'dot')
+gv.render(G, 'gtk')
index 9609eaaf5722d91648f60e9db739bb3e4ef9a350..0376f4e461ce995bebf619a122ff5cf2c4e3b992 100755 (executable)
@@ -31,5 +31,5 @@ for rec in modules:
          gv.edge(n, gv.node(G, usedby))
 
 gv.layout(G, 'dot')
-# The 'xlib' renderer is provided by graphviz-cairo
-gv.render(G, 'xlib')
+# The 'gtk' renderer is provided by graphviz-cairo
+gv.render(G, 'gtk')
index 60f6acdf75fe139d164855fe92f8c41ba70b1a57..f04d85c27a72de2327396d7d24906d23c5eaa926 100755 (executable)
@@ -32,4 +32,4 @@ foreach rec [split $modules \n] {
 }
 
 gv::layout $g dot
-gv::render $g xlib
+gv::render $g gtk