44 lines
2.0 KiB
OCaml
44 lines
2.0 KiB
OCaml
(***********************************************************************)
|
|
(* *)
|
|
(* OCamldoc *)
|
|
(* *)
|
|
(* Maxence Guesdon, projet Gallium, INRIA Rocquencourt *)
|
|
(* *)
|
|
(* Copyright 2010 Institut National de Recherche en Informatique et *)
|
|
(* en Automatique. All rights reserved. This file is distributed *)
|
|
(* under the terms of the Q Public License version 1.0. *)
|
|
(* *)
|
|
(***********************************************************************)
|
|
|
|
(** The types of generators. *)
|
|
|
|
(** The minimal class type of documentation generators. *)
|
|
class type doc_generator =
|
|
object method generate : Odoc_module.t_module list -> unit end;;
|
|
|
|
(** The module type of minimal generators. *)
|
|
module type Base = sig
|
|
class generator : doc_generator
|
|
end;;
|
|
|
|
module Base_generator : Base
|
|
|
|
module type Base_functor = functor (P: Base) -> Base
|
|
module type Html_functor = functor (G: Odoc_html.Html_generator) -> Odoc_html.Html_generator
|
|
module type Latex_functor = functor (G: Odoc_latex.Latex_generator) -> Odoc_latex.Latex_generator
|
|
module type Texi_functor = functor (G: Odoc_texi.Texi_generator) -> Odoc_texi.Texi_generator
|
|
module type Man_functor = functor (G: Odoc_man.Man_generator) -> Odoc_man.Man_generator
|
|
module type Dot_functor = functor (G: Odoc_dot.Dot_generator) -> Odoc_dot.Dot_generator
|
|
|
|
(** Various ways to create a generator. *)
|
|
type generator =
|
|
| Html of (module Odoc_html.Html_generator)
|
|
| Latex of (module Odoc_latex.Latex_generator)
|
|
| Texi of (module Odoc_texi.Texi_generator)
|
|
| Man of (module Odoc_man.Man_generator)
|
|
| Dot of (module Odoc_dot.Dot_generator)
|
|
| Base of (module Base)
|
|
;;
|
|
|
|
val get_minimal_generator : generator -> doc_generator
|