(**
   This module provides utilities for constructing a dependency graph
   from files generated by [coqdep].

   The resulting graph is represented in the Graphviz DOT format.
*)

type input =
  | FromDependFile of string
  | FromDotFile of string

val parse_dep : Directory_mappings.t -> in_channel -> Graphviz.dot
(** [parse_dep mappings ch] parses dependencies generated by `coqdep` as an
    input channel [ch], and returns it as a Graphviz DOT graph.
    The [mappings] argument is used to handle the physical-to-logical
    path mapping introduced by the [-Q] option of rocqnavi.
 *)

val parse_dep_file : Directory_mappings.t -> string -> Graphviz.dot
(** [parse_file mappings filename] is same as [parse_dep], but the dependencies
    are specified by filename.
 *)
