问题标签 [camlp4]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ocaml - 用于处理常规树状结构上的匹配的代码生成?
我正在开发一个专门的四叉树来做一些生物信息学。qtree 的类型是:
现在在构建或行走时对这些树进行匹配,最终会得到如下结果:
你明白了,基本上我需要覆盖那里的所有 16 个组合(4 个子树可以是空的或 Nd)。打字很多,而且容易出错。
然而,它是一个非常规则的结构,适合于代码生成。我打算使用 Ruby 脚本实际生成此代码,但我想知道这是否可以使用 campl4 或新的 -ppx 样式“宏”(因为没有更好的术语)?如果是这样,我怎么能从这两个方向开始呢?
ocaml - Camlp4 解析器跟踪
我正在用 Camlp4 编写一个简单的解析器。复杂性开始达到我无法推理确切解析序列的程度。生成包含消耗的令牌和匹配的规则的解析的“跟踪”的最佳方法是什么。
例如以下解析器片段:
可能会输出如下跟踪片段:
Camlp4似乎没有内置任何这样的东西,所以我想知道它是否可能。
ocaml - 查看 mli 文件的 AST
我希望能够看到某个模块的 AST 是什么,这样我就可以针对它编写一个适当的过滤器。
因为我现在并没有真正看到如何“登录”过滤器,例如我尝试匹配并且当匹配失败时我登录,我使用 Camlp4AstLifter 函数将模块转换为树,然后打印在控制台上,像这样我尝试创建我的匹配模式,如下所示:
当我想获取一个 mli 文件并使用 camlp4 过滤器来创建这个 mli 文件的默认实现时,这有点短。
我无法使用 Camlp4AstLifter 查看树,因为此命令似乎不适用于 mli(它再次向我显示 mli 作为输出),因此我在尝试匹配时有点盲目。
有人有想法吗?或者也许是关于如何改进我的过滤/匹配方法的提示(我不觉得我做得对,非常乏味)。
卡斯帕
ocaml - 如何查看Camlp4的预处理结果?
我在一个名为module.ml
. 是否有使用 ocamlfind 的简单方法来执行此操作,或者我必须直接调用camlp4 并手动传递所有原始参数?
ocaml - 错误:Camlp4:未捕获的异常:Not_found
我正在研究一个 Ocsigen 示例(http://ocsigen.org/tuto/manual/macaque)。
尝试编译程序时出现错误,如下所示。
我的代码是:
我使用 eliom-destillery 生成基本文件。我使用“make”来编译程序。
我尝试了许多不同的方法并进行了谷歌搜索,但我无法找出问题所在。非常感谢任何提示。
parsing - 使用 OCaml 解析 OCaml 文件
我想使用 OCaml 分析 OCaml 文件 (.ml)。我想将文件分解为抽象语法树进行分析。我曾尝试使用camlp4,但没有运气。以前有没有其他人成功地做到过?这是解析 OCaml 文件的最佳方式吗?
macos - camlp4o 不是字节码可执行文件(osx 上的错误)
我有 ocaml 3.12,一年没用,现在从 git 升级到 4.03(自己编译)。我在网上看到一些评论说这个版本不包括camlp4o,我的是2010年的,当时我还没有安装ocaml。问题是我因此无法编译程序。我在硬盘驱动器上转到该文件,我没有发现任何问题,但是如果我尝试从终端执行,我会得到这个
其他 caml 文件也是如此。希望这能解决我的问题,我该如何更新它们?我正在使用 osx。谢谢!
ocaml - OCaml - 使用类型信息进行预处理
我想预处理 OCaml 片段并根据某些表达式的类型对片段进行一些修改。例如,如果片段具有:
我会向 f 添加另一个参数,例如:
.
但如果我看到类似的东西:
然后我可能想:
我正在查看camlp4,尽管我对它并不彻底;我认为camlp4 没有关于表达式的类型信息。
有什么办法可以做到这一点吗?谢谢!
ubuntu - How to include camlp4 on emacs, ubuntu
I have source code below. I knew it doesn't work becaus missing camlp4. Now my OS is Ubuntu, I am using caml mode for emacs editor. Can you please help me to config camlp4 for my emacs, so I can run this code ? Thank you so much
list - 如何访问 Ocaml 列表中的成员
我在下面有一个源代码。我不明白它的语法。
[g | t <- ts; g <- symbols t]
很奇怪。请帮我解释它或推荐任何与之相关的书籍或文件。非常感谢