draft/ol2dot.rb
branchecjdr
changeset 92 bdef1afd1170
equal deleted inserted replaced
91:3164c82ac16e 92:bdef1afd1170
       
     1 #!/usr/bin/ruby
       
     2 
       
     3 Header_RE = /^(\*+)\s+(.*)/
       
     4 parents = ["#{ARGV[0]}"]
       
     5 
       
     6 print "digraph \"#{parents[0]}\" {\n"
       
     7 
       
     8 while gets
       
     9   if $_ =~ Header_RE
       
    10     title = $2
       
    11     level = $1.length()
       
    12     next if title =~ /^Emacs Variables/
       
    13     if level > parents.length()
       
    14       [level..parents.length()].each do |i| parents.push("") end
       
    15     end
       
    16     if level < parents.length()
       
    17       parents = parents[0..level-1]
       
    18     end
       
    19     parents.push(title)
       
    20     print "// #{parents.join(",")}\n"
       
    21     if parents.length() > 1
       
    22       print "\"#{parents[-2]}\" -> \"#{parents[-1]}\";\n"
       
    23     end
       
    24   end
       
    25 end
       
    26 
       
    27 print "}\n"