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