caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] New release of Menhir (20150921)
@ 2015-09-22 16:08 Francois Pottier
  0 siblings, 0 replies; only message in thread
From: Francois Pottier @ 2015-09-22 16:08 UTC (permalink / raw)
  To: caml-list


Dear OCaml users,

A new release of Menhir (20150921) is available via opam (just run "opam
install menhir") and from http://gallium.inria.fr/~fpottier/menhir/ .

The relevant chunk of the CHANGES file is appended at the end of this message.
Here is a summary of the most important changes:

- The Coq back-end (designed and implemented by Jacques-Henri Jourdan) has
  been documented. Yes, Menhir can produce a provably correct parser, written
  in Coq's programming language.

- The incremental API has been changed (in an incompatible way), and a new
  inspection API has appeared. Expect more incompatible changes in the future,
  as these APIs are not yet mature.

- Added support for anonymous rules. This allows writing, e.g.,
    list(e = expression SEMI { e })
  whereas previously one should have written
    list(terminated(e, SEMI)).

Best regards,

--
François Pottier
Francois.Pottier@inria.fr
http://gallium.inria.fr/~fpottier/

2015/09/21:
Re-established some error messages concerning the mis-use of $i which
had disappeared on 2015/06/29.

2015/09/11:
Fixed the mysterious message that would appear when a nonterminal symbol
begins with an uppercase letter and --infer is turned on. Clarified the
documentation to indicate that a (non-start) nonterminal symbol can begin
with an uppercase letter, but this is not recommended.

2015/08/27:
New option --inspection (added last January, documented only now). This
generates an inspection API which allows inspecting the automaton's stack,
among other things. This API can in principle be used to write custom code
for error reporting, error recovery, etc. It is not yet mature and may
change in the future.

2015/07/20:
Added the command line options --unused-token <symbol> and --unused-tokens.

2015/06/29:
Changed the treatment of the positional keywords $i. They are now
rewritten into variables of the form '_i' where 'i' is an integer.
Users are advised not to use variables of this form inside semantic
actions.

2015/02/11:
Added support for anonymous rules. This allows writing, e.g.,
list(e = expression SEMI { e })
whereas previously one should have written
list(terminated(e, SEMI)).

2015/02/09:
Moved all of the demos to ocamlbuild (instead of make).

2015/01/18:
Incompatible change of the incremental API.
The incremental API now exposes shift events too.

2015/01/16:
Fixed a couple bugs in Makefile and src/Makefile which would cause
compilation and installation to fail with "TARGET=byte". (Reported
by Jérémie Courrèges-Anglas and Daniel Dickman.)

2015/01/01:
Incompatible change of the incremental API.
The entry point main_incremental is now named Incremental.main.

2014/12/29:
Incompatible change of the incremental API.
The API now exposes reduction events.
The type 'a result is now private.
The type env is no longer parameterized.
[handle] is renamed to [resume].
[offer] and [resume] now expect a result, not an environment.

2014/12/22:
Documented the Coq back-end (designed and implemented by Jacques-Henri Jourdan).

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2015-09-22 16:08 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-09-22 16:08 [Caml-list] New release of Menhir (20150921) Francois Pottier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).