ocaml - 在模块化解析器规范中抑制 "never useful"优先警告?

标签 ocaml menhir

是否可以在 menhir 中抑制未使用的优先警告?

背景:

我有一个核心解析器 Lib.mly有几个规则,另外还有许多额外的解析器(A.mlyB.mly,...),它们使用来自 Lib.mly 的定义.为了支持对所有语言使用单个词法分析器,所有标记都在 Lib.mly 中定义。我们使用 external_tokens(Lib) _tags 中的注释并已扩展 myocamlbuild.ml使用 --unused-tokens 禁止未使用的 token 警告这有很大帮助。但是,我仍然收到许多形式的警告:

File "parsers/ParserLib.mly", line 126, characters 0-9:                     
Warning: the precedence level assigned to FIX is never useful.              

这些让我很难看到我真正想要解决的其他警告。运算符的不同子集用于各种语言,因此我需要一个“全局”优先级来适本地对它们进行排序。感谢您的任何提示!

最佳答案

不确定这是否是您要搜索的内容,但以下两个选项可能有用:

--unused-token <token>           Do not warn that <token> is unused
--unused-tokens                  Do not warn about any unused token

关于ocaml - 在模块化解析器规范中抑制 "never useful"优先警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47851195/

相关文章:

functional-programming - 如何将移位/重置转换为delimcc?

parsing - OCaml + Menhir 编译/写作

ocaml - 使用 menhir : which token? 报告多个错误

Ocaml:FIFO 读取不正确

ocaml - 我可以从运行时选择的 OCaml 类继承吗?

ocaml - OCaml 中自定义运算符的可能名称的完整列表

parsing - 将 menhir 与 sedlex 结合使用

error-handling - menhir - 将 AST 节点与源文件中的 token 位置相关联

parsing - ocaml menhir 解析器的产量永远不会减少

compiler-errors - 不允许使用表单,因为内联记录的类型可能会逃逸