gpt4 book ai didi

ocaml - OCaml 的 _tags 文件的目的是什么,以及如何解释内容?

转载 作者:行者123 更新时间:2023-12-04 18:39:51 25 4
gpt4 key购买 nike

来自 Building OCaml code that uses list comprehension发帖,我可以用 _tags要执行的文件 ocamlbuild使用较少的构建选项。

$ cat _tags
<**/*> : package(camlp4),syntax(camlp4o),package(pa_comprehension)

来自 Batteries introduction ,我还需要有 _tags 文件才能使用电池包。
<*>: package(batteries)

为什么第一个例子使用 <**/*>当第二个例子使用 <*> ?一般来说,ocamlbuild 中 _tags 文件的用途是什么?你有关于它的一些好的教程吗?

最佳答案

A _tags除了 myocamlbuild.ml 之外的文件形成 ocamlbuild 的根编译系统。
ocamlbuild是一个非常通用的工具,可以编译任何东西。它由求解器驱动,根据用户设定的目标,寻找满足目标的解。解决方案是应用于文件的一系列规则。文件可以通过标签进行标记。标签可以改变规则。例如,它可以添加标志,例如启用分析或链接到库。

A _tags file 提供了一种为文件分配标签的机制,它有一个简单的语法:

 pattern ":" tag "," {tag}.
:的左边是什么实际上是一个模式或正则表达式。与表达式匹配的每个文件都将被分配出现在 : 右侧的所有标签。 .
<**/*>表示对于此文件夹中的所有文件以及所有子文件夹,有一个快捷方式: true . <*>表示此文件夹中的所有文件(不降级到子文件夹)。其他示例是 <*.ml> , <*.cmx><**/*.cma> (顺便说一句 or 也可用于构建模式)。

OCamlbuild 记录在 OCaml Manual ,还有一个 dump旧维基,有很多信息。

但有趣的是,通常您不需要知道这一点就可以使用 OCaml。有一个 OASIS 将自动执行所有任务并创建 _tags 的工具从简单而高级的定义为您提供文件。

关于ocaml - OCaml 的 _tags 文件的目的是什么,以及如何解释内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28757038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com