2 # vim: ts=2 sw=2 nocindent
7 def choose_regex(regs, line):
14 def gather(included, deps):
27 deps.append((m.group(1), m.group(2)))
29 infos.append((m.group(1), m.group(2)))
32 (dependency, re.compile(r'"(.*)"\s*->\s*"(.*)"')),
33 (info, re.compile(r'"(.*)"(\s*\[.*\])')),
36 lines = sys.stdin.readlines()
37 lines = [line.strip() for line in lines]
40 func,m = choose_regex(REGS, line)
45 sys.stderr.write("argv: " + str(sys.argv) + "\n")
46 if not (len(sys.argv) == 2 and sys.argv[1] == "--all"):
47 targets = sys.argv[1:]
49 included = set(targets)
51 while prevLen != len(included):
52 prevLen = len(included)
53 included = gather(included, deps)
55 deps = [dep for dep in deps if dep[1] in included]
56 infos = [info for info in infos if info[0] in included]
59 print "graph [ ratio=.5 ];"
61 print '"%s" -> "%s"' % dep
67 if __name__ == "__main__":