diff options
Diffstat (limited to 'ocaml-binary-annot/ocamldoc/odoc_comments.mli')
| -rw-r--r-- | ocaml-binary-annot/ocamldoc/odoc_comments.mli | 74 |
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 |
