Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
Ocamldot -- generate program dependency graphs for ocaml
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Trevor Jim <tjim@s...>
Subject: Ocamldot -- generate program dependency graphs for ocaml
Ocamldot is available from

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 >

This will output a dot graph into the file  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