It is my pleasure to announce a new release of Menhir, with a number of minor improvements.
The change log appears below. The main point of notice is that (when using the code back-end) the default optimization level has been changed from
-O 2 to
-O 1. So, if you need to keep identical generated code and performance, you should now explicitly pass
-O 2 to Menhir.
opam install menhir.20230415
When using the code back-end, the default optimization level is now
-O 2. Some users reported that
-O 2is too aggressive and
can cause a blow-up in the size of the code.
Tweak the code for compatibility with OCaml 5.1. (Contributed by
The new function
MenhirLib.LexerUtil.tabulatemakes it easy to run
the lexer and parser in two separate phases. This can be useful when
one wishes to benchmark them separately.
To use the interpreter and print a concrete syntax tree, it used to be
necessary to pass both
--interpret-show-cst. It is
now sufficient to pass just
--interpret-show-cst. (If both are passed,
then only the last one is obeyed.) This fixes the assertion failure that
would be observed when
--interpret-show-cstalone was used.
(Reported by Reed Mullanix.)