为 OCaml 生成类似 class 的图表

Generating class-like diagrams for OCaml

我有一个很大的 OCaml 代码库,想从中获取一些类似 UML 的 class/module 图,类似于一些 Java reverse engineering 工具所做的。

这些图不需要是正式的 UML 图,但至少能够看到每个模块签名中定义的 functions/types 的名称对于帮助理解 OCaml 代码库非常有用。如果这可以与模块之间的关联结合起来就更好了。

可以使用ocamldoc来完成吗?我知道它能够生成模块之间的 DOT 依赖图,但我无法确定它是否可以生成关于模块中定义的每个 type/function 的信息。

不行,ocamldoc不能这样,除非你自己写一个相应的插件。据我所知,最符合您需求的是 Facebook Pfff。它不生成 UML,但它有一个依赖代码可视化器,将所需信息显示为设计结构矩阵。

opam install odoc-depgraph 应该做你需要它做的一切,如果我理解正确的话。