2012-04-18 49 views
5

下面是一个例子接口test.mli,与ocamldoc风格的注释说:为什么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 

为什么一个文档生成关心未绑定的模块?

回答

6

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

open MissingModule 

val f: foo -> unit 

被转换为

val f: MissingModule.foo -> unit 

而且MissingModule.foo成为一个很好的交叉引用在MissingModule所述的foo定义(如果missingModule.mli被给定为参数ocamldoc)。

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

相关问题