draft/ol2dot.rb
author fabien
Wed, 30 Aug 2006 21:32:44 -0400
branchecjdr
changeset 92 bdef1afd1170
permissions -rw-r--r--
[svn] r2271@freebird: fabien | 2006-08-30 21:33:34 -0400 Mise à jour préventive.

#!/usr/bin/ruby

Header_RE = /^(\*+)\s+(.*)/
parents = ["#{ARGV[0]}"]

print "digraph \"#{parents[0]}\" {\n"

while gets
  if $_ =~ Header_RE
    title = $2
    level = $1.length()
    next if title =~ /^Emacs Variables/
    if level > parents.length()
      [level..parents.length()].each do |i| parents.push("") end
    end
    if level < parents.length()
      parents = parents[0..level-1]
    end
    parents.push(title)
    print "// #{parents.join(",")}\n"
    if parents.length() > 1
      print "\"#{parents[-2]}\" -> \"#{parents[-1]}\";\n"
    end
  end
end

print "}\n"