From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id IAA19324 for caml-redistribution; Thu, 14 Jan 1999 08:46:37 +0100 (MET) Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id VAA10077 for ; Wed, 13 Jan 1999 21:22:20 +0100 (MET) Received: from linc.cis.upenn.edu (LINC.CIS.UPENN.EDU [158.130.12.3]) by nez-perce.inria.fr (8.8.7/8.8.7) with ESMTP id VAA28177 for ; Wed, 13 Jan 1999 21:22:18 +0100 (MET) Received: from saul.cis.upenn.edu (SAUL.CIS.UPENN.EDU [158.130.12.4]) by linc.cis.upenn.edu (8.8.5/8.8.5) with ESMTP id PAA22312 for ; Wed, 13 Jan 1999 15:22:17 -0500 (EST) Received: (from tjim@localhost) by saul.cis.upenn.edu (8.8.5/8.8.5) id PAA13509; Wed, 13 Jan 1999 15:22:16 -0500 (EST) Date: Wed, 13 Jan 1999 15:22:16 -0500 (EST) Message-Id: <199901132022.PAA13509@saul.cis.upenn.edu> From: Trevor Jim To: caml-list@inria.fr Subject: Ocamldot -- generate program dependency graphs for ocaml Sender: weis 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 http://www.research.att.com/sw/tools/graphviz/ 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 use as a root in the graph; nodes reachable from 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