Is it possible to suppress unused precedence warnings in menhir?
Background:
I have a core parser Lib.mly
with several rules and, separately, a host of additional parsers (A.mly
, B.mly
, ...) which use definitions from Lib.mly
. To support using a single lexer for all the languages, all tokens are defined in Lib.mly
and we use external_tokens(Lib)
annotations in _tags
and have extended myocamlbuild.ml
to suppress unused tokens warnings with --unused-tokens
which helps significantly. However, I still get many warnings of the form:
File "parsers/ParserLib.mly", line 126, characters 0-9:
Warning: the precedence level assigned to FIX is never useful.
These make it hard to see other warnings I actually want to address. Different subsets of the operators are used in various languages, so I need to have a single "global" precedence that orders them appropriately. Thanks for any tips!
As of today, Menhir has a new option --unused-precedence-levels
.
If you have examples of grammars that are split over several files, I might be interested to look at them (and possibly include some of them in Menhir's test suite, if permitted).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With