这是一个示例test.mli接口(interface),使用ocamldoc样式的注释进行了注释:

(** ocamldoc module comment *)
open MissingModule;;
(** ocamldoc function comment *)
val test : unit;;

如果运行命令ocamldoc test.mli,则会出现以下错误:
File "test.mli", line 2, characters 0-9:
Error: Unbound module MissingModule
1 error(s) encountered

为什么文档生成器应该关心未绑定(bind)的模块?

最佳答案

那是因为ocamldoc完全限定了类型名称。文件:

open MissingModule

val f: foo -> unit

被翻译成
val f: MissingModule.foo -> unit

并且MissingModule.foo成为fooMissingModule定义的很好的交叉引用(如果missingModule.mli作为ocamldoc的参数给出)。

为了完成答案,为了完全限定类型标识,您需要输入要处理的文件。因此,ocamldoc需要能够访问相应的.cmi文件。

10-06 04:11