我正在使用的--compile-errors
功能,menhir
我对它非常满意。我也ocamlbuild
用来管理我的项目的编译。由于该项目非常基础,到目前为止,构建基础设施仍然微不足道。
我在项目的根目录有一个_tags
文件和一个简单的文件。Makefile
我还没有myocamlbuild.ml
文件。该_tags
文件仅包含一行:
<src/*>: package(ppx_deriving.std)
Makefile 的相关部分是
all: src/ParsingErrors.ml
ocamlbuild $(OPTIONS) src/Main.native
src/ParsingErrors.ml: src/Handcrafted.messages src/Parser.mly
menhir --compile-errors src/Handcrafted.messages src/Parser.mly > src/ParsingErrors.ml
OPTIONS = -j 4 -use-menhir -use-ocamlfind -yaccflag --table -pkgs menhirLib,str,unix
OCamlbuild 和 Menhir 通常集成得很好,但--compile-errors
似乎是一个相当新的功能。我的设置并不理想,因为我不喜欢src/ParsingErrors.ml
在我的源目录而不是构建目录中有一个自动生成的文件。向 OCamlbuild 解释我希望 Menhir 构建此错误消息文件的最佳方式是什么?更改文件的命名约定(例如,更改为src/Parser.messages
and src/Parser.ml
)不会让我感到困扰,如果它可以简化事情的话。
注意:虽然我myocamlbuild.ml
在其他项目中有文件,但我从在线资源中复制了它们。我发现它们很难破译,而且我真的不明白如何写这些东西。