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 update
opam install menhir.20230415
2023/04/15
-
When using the code back-end, the default optimization level is now
-O 1
instead of-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
Florian Angeletti.) -
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--interpretand--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.)