Ocamldot -- generate program dependency graphs for ocaml

From: Trevor Jim (tjim@saul.cis.upenn.edu)
Date: Wed Jan 13 1999 - 21:22:16 MET

Date: Wed, 13 Jan 1999 15:22:16 -0500 (EST)
Message-Id: <199901132022.PAA13509@saul.cis.upenn.edu>
From: Trevor Jim <tjim@saul.cis.upenn.edu>
To: caml-list@inria.fr
Subject: Ocamldot -- generate program dependency graphs for ocaml

Ocamldot is available from http://www.cis.upenn.edu/~tjim/.

Ocamldot generates program dependency graphs for ocaml programs.

The dependency graph output by ocamldot can be rendered by a separate
program, dot. Dot is freely available from


Ocamldot was derived from ocamldep, and is used in much the same way:

  ocamldot *.ml > dep.dot

This will output a dot graph into the file dep.dot. The graph will
give the dependencies between the .ml files in the current directory.
If the files depend on other files not in the current directory (e.g.,
library files), they won't be shown in the graph. Ocamldot can also
read .mll and .mly files.

You can then use the program dotty to view, edit, and print the graph.

Ocamldot has the following options:

  -fullgraph draw the full graph (default is to draw only the kernel)
  -landscape output in landscape format (default is portrait)
  -lr 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.)

-Trevor Jim

This archive was generated by hypermail 2b29 : Sun Jan 02 2000 - 11:58:17 MET