UPDATE: as of ocaml 3.05, the functionality of ocamldot is now built into the ocamldoc tool that comes with the standard ocaml distribution.Ocamldot generates program dependency graphs for ocaml programs. Here's an example:
The dependency graph output by ocamldot can be rendered by a separate program, dot. Dot is freely available from http://www.research.att.com/sw/tools/graphviz/.
Ocamldot is designed to process the output of ocamldep. A typical use would be
ocamldep *.ml | ocamldot > dep.dot
ocamldep *.ml > .depend
ocamldot .depend > dep.dot
This will output a dot graph into the file dep.dot. You can then use the program dotty to view, edit, and print the graph.
Ocamldot has the following options:
- draw the full graph (default is to draw only the kernel)
- output in landscape format (default is portrait)
- draw graph from left to right (default is top to bottom)
- -r <r>
- use <r> as a root in the graph; nodes reachable from <r> will be shown
(The transitive kernel of a dag is the smallest subset of the dag whose transitive closure is the same as the transitive closure of the dag. For example, the kernel of A->B, A->C, B->C is just the two edges A->B, B->C.)