From: ellson Date: Tue, 18 Oct 2005 21:15:19 +0000 (+0000) Subject: add lua demo script X-Git-Tag: LAST_LIBGRAPH~32^2~7017 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3de47eb6ff0d594c29f8fd2b179cefdab3578ad1;p=graphviz add lua demo script --- diff --git a/tclpkg/gv/demo/modgraph.lua b/tclpkg/gv/demo/modgraph.lua new file mode 100755 index 000000000..6920ae244 --- /dev/null +++ b/tclpkg/gv/demo/modgraph.lua @@ -0,0 +1,35 @@ +#!/usr/bin/lua + +-- display the kernel module dependencies + +-- author: John Ellson + +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') diff --git a/tclpkg/gv/demo/modgraph.py b/tclpkg/gv/demo/modgraph.py index 9609eaaf5..0376f4e46 100755 --- a/tclpkg/gv/demo/modgraph.py +++ b/tclpkg/gv/demo/modgraph.py @@ -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') diff --git a/tclpkg/gv/demo/modgraph.tcl b/tclpkg/gv/demo/modgraph.tcl index 60f6acdf7..f04d85c27 100755 --- a/tclpkg/gv/demo/modgraph.tcl +++ b/tclpkg/gv/demo/modgraph.tcl @@ -32,4 +32,4 @@ foreach rec [split $modules \n] { } gv::layout $g dot -gv::render $g xlib +gv::render $g gtk