summaryrefslogtreecommitdiff
path: root/ocaml-binary-annot/ocamldoc/odoc_comments.mli
diff options
context:
space:
mode:
Diffstat (limited to 'ocaml-binary-annot/ocamldoc/odoc_comments.mli')
-rw-r--r--ocaml-binary-annot/ocamldoc/odoc_comments.mli74
1 files changed, 74 insertions, 0 deletions
diff --git a/ocaml-binary-annot/ocamldoc/odoc_comments.mli b/ocaml-binary-annot/ocamldoc/odoc_comments.mli
new file mode 100644
index 0000000000..28122cda94
--- /dev/null
+++ b/ocaml-binary-annot/ocamldoc/odoc_comments.mli
@@ -0,0 +1,74 @@
+(***********************************************************************)
+(* OCamldoc *)
+(* *)
+(* Maxence Guesdon, projet Cristal, INRIA Rocquencourt *)
+(* *)
+(* Copyright 2001 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. *)
+(* *)
+(***********************************************************************)
+
+(* $Id$ *)
+
+(** Analysis of comments. *)
+
+val simple_blank : string
+
+(** The type of modules in argument to Info_retriever *)
+module type Texter =
+ sig
+ (** Return a text structure from a string. *)
+ val text_of_string : string -> Odoc_types.text
+ end
+
+(** The basic module for special comments analysis.*)
+module Basic_info_retriever :
+ sig
+ (** Return true if the given string contains a blank line. *)
+ val blank_line_outside_simple :
+ string -> string -> bool
+
+ (** This function retrieves all the special comments in the given string. *)
+ val all_special : string -> string -> int * Odoc_types.info list
+
+ (** [just_after_special file str] return the pair ([length], [info_opt])
+ where [info_opt] is the first optional special comment found
+ in [str], without any blank line before. [length] is the number
+ of chars from the beginning of [str] to the end of the special comment. *)
+ val just_after_special :
+ string -> string -> int * Odoc_types.info option
+
+ (** [first_special file str] return the pair ([length], [info_opt])
+ where [info_opt] is the first optional special comment found
+ in [str]. [length] is the number of chars from the beginning of
+ [str] to the end of the special comment. *)
+ val first_special :
+ string -> string -> int * Odoc_types.info option
+
+ (** Return a pair [(comment_opt, element_comment_list)], where [comment_opt] is the last special
+ comment found in the given string and not followed by a blank line,
+ and [element_comment_list] the list of values built from the other
+ special comments found and the given function. *)
+ val get_comments :
+ (Odoc_types.text -> 'a) ->
+ string -> string -> Odoc_types.info option * 'a list
+
+ end
+
+(** [info_of_string s] parses the given string
+ like a regular ocamldoc comment and return an
+ {!Odoc_types.info} structure.
+ @return an empty structure if there was a syntax error. TODO: change this
+*)
+val info_of_string : string -> Odoc_types.info
+
+(** [info_of_comment_file file] parses the given file
+ and return an {!Odoc_types.info} structure. The content of the
+ file must have the same syntax as the content of a special comment.
+ The given module list is used for cross reference.
+ @raise Failure is the file could not be opened or there is a
+ syntax error.
+*)
+val info_of_comment_file :
+ Odoc_module.t_module list -> string -> Odoc_types.info