是否有可能在menhir中抑制未使用的优先级警告?
背景:
我有一个核心解析器Lib.mly
有几个规则,另外还有一些额外的解析器(A.mly
,B.mly
,...),它们使用Lib.mly
中的定义。为了支持对所有语言使用单个词法分析器,所有标记都在Lib.mly
中定义,我们在external_tokens(Lib)
中使用_tags
注释,并使用myocamlbuild.ml
扩展--unused-tokens
来抑制未使用的标记警告,这有助于显着提高。但是,我仍然收到许多警告:
File "parsers/ParserLib.mly", line 126, characters 0-9:
Warning: the precedence level assigned to FIX is never useful.
这些让我很难看到其他我想要解决的警告。运算符的不同子集以各种语言使用,因此我需要有一个“全局”优先级来对它们进行适当的排序。谢谢你的任何提示!
截至今天,Menhir有一个新的选择--unused-precedence-levels
。
如果您有分解在多个文件上的语法示例,我可能会对它们感兴趣(如果允许,可能会在Menhir的测试套件中包含其中一些)。
不确定这是否是您要搜索的内容,但以下两个选项可能很有用:
--unused-token <token> Do not warn that <token> is unused
--unused-tokens Do not warn about any unused token