Camlp5 Version 4.08:
---------------------

* [] Updated documentation.
* [30 Aug 07] Added IFDEF macros for signatures (.mli files).
* [26 Aug 07] Added left factorization for consecutive rules of parsers
  (and lexers).
* [21 Aug 07] Added equality functions over syntax trees in module Pcaml.
* [21 Aug 07] Improved compiled version (camlp5o.opt) to add the fact
  that the grammar is LL(n) for rules starting with n terminals.
* [20 Aug 07] Updated library interface comments.
* [19 Aug 07] Added option -define with 'pa_macro.cmo' which prints the
  predefined macros and exit.
* [16 Aug 07] Added pa_extprint.cmo, a new syntax for extensible pretty
  printers adding a statement EXTEND_PRINTER (cf files pr_r.cmo and pr_o.ml
  as examples). Added library module Eprinter. Changes (simplifications) in
  intefaces of Pcaml for the printers.

Camlp5 Version 4.07:
---------------------

* [02 Aug 07] Fixed bug: option -o did not work for pr_r.cmo and pr_o.cmo
  (was always stdout).
* [01 Aug 07] In EXTEND statement, added symbol FLAG: like OPT but return
  a boolean value. The antiquotation kind "flag" must be used in this case,
  but the "opt" still works by compatibility.
* [30 Jul 07] Fixed bug in normal syntax: let C x = C 1 was not accepted.
* [30 Jul 07] Changed pretty printing *normal* syntax: let C x = .. printed
  like that, *not* transformed into let x = match .. with C x -> x.

Camlp5 Version 4.06:
---------------------

* [25 Jul 07] Fixed bug: in normal syntax, the declaration of a constructor
  named "True" or "False" did not work.
* [25 Jul 07] While expanding stream parsers, transform unused bound
  variables into wildcards to prevent compiler warnings.
* [21 Jul 07] Fixed bug in normal syntax and printing of normal syntax:
  "poly type" was accepted with revised syntax, i.e. with "!" at beginning
  and displayed like it. Fixed also the printing of abstract module type
  which was not implemented. Added printing syntax of fun binding fof class
  parameters.
* [20 Jul 07] Added revised syntax for bigarrays (same than normal syntax)
  and pretty print them in their initial syntax.
* [18 Jul 07] In Grammar.Entry.print, local entries are displayed with
  a star character "*".
* [18 Jul 07] In Grammar module, added type 'parsable', functions 'parsable'
  and 'Entry.parse_parsable' like for the functorial interface.

Camlp5 Version 4.05:
---------------------

* [16 Jul 07] Fixed bug in normal syntax: optional semicolon was no more
  accepted at end of stream patterns.
* [16 Jul 07] Fixed syntax problems with "~id:" and "~id :" (with a space).

Camlp5 Version 4.04:
---------------------

* [11 Jul 07] Renamed application as "camlp5".
* [11 Jul 07] Fixed compilation problems with ocaml version 3.08.1.

Camlp4s Version 4.03:
---------------------

* [10 Jul 07] Added argument "-name" in "configure" to specify another name
  of commands and libraries (default = camlp4). E.g. "configure -name camlp5"
  will build "camlp5", "camlp5r", "camlp5o", "camlp5.1", and so on, and
  the library directory will be installed in ocaml library directory as
  name "camlp5".
* [10 Jul 07] Deleted command "mkcamlp4" which seems not to work any more.
  This will be fixed in a future version.

Camlp4s Version 4.02:
---------------------

* [08 Jul 07] Added missing compatibility with ocaml 3.10.0
* [05 Jul 07] Rebuilt pretty printers with new pretty printer module
* [27 Jun 07] Added private flag in type declarations and with constraints
* [21 Jun 07] Added "let..in" in parsers
* [14 Jun 07] Added html documentation for:
  - the "extfun" statement
  - the "fparser" statement
  - the "lexer" statement
  - the "parser" statement
  - the "#pragma" directive
  - the module Pretty
  - the new pretty print in Camlp4 (using Pretty and "extfun")
* [14 Jun 07] Library module Sformat renamed Pretty. The first parameter
  of the function horiz_vertic is now a function of type "unit -> 'a".
* [31 May 07] Quotation "row_field" renamed "poly_variant".
* [03 May 07] Fixed bug in pr_o: did not print "let f ?a = ()".

Camlp4s Version 4.01:
---------------------

* [27 Apr 07] Added compatibility with ocaml 3.11

Camlp4s Version 4.00:
---------------------

* [31 Jan 07] Added a new syntax, "lexer", to write parsers of characters
  in a shorter way. New syntax extension "pa_lex.cmo".

* [26 Jan 07] Deleted "LOCATE" lexing token kind and associated parsing
  stuff. Seems to be an old thing never used.

* [20 Jan 07] Added "lookahead" stream pattern component kind.
          syntax ::= "?=" list lookhd_patt sep_by "|"
     lookhd_patt ::= "[" list pattern sep_by ";" "]"
  Checks the first stream elements against the pattern, without removing
  them from the stream (but possibly unfreezing them), continues the stream
  pattern if ok, fails (Stream.Failure or Stream.Error depending on the
  position of the component) if not. If there are more than one lookahead
  pattern, they must be of the same length. Examples in lib/plexer.ml.

* [31 Dec 06] Added the ability to add "!" (in Revised syntax) or "?!"
  (in normal syntax) after a stream parser component to hint the preprocessor
  that the called parser cannot fail (which must be true, but not checked)
  which allows shorter code. E.g.
     parser [: x = f; y = g ! :] -> (x, y)
  This example is equivalent to:
     parser [: x = f; s :] -> let y = g s in (x, y)

* [19 Dec 06] Added "pa_pragma.cmo" adding the directive "#pragma <expr>"
  which executes <expr> in the context of the preprocessor.

* [16 Dec 06] Added ability to add directives: "Pcaml.add_directive".

* [05 Dec 06] Fixed old bug: "camlp4 foo/bar.cmo" now searchs from the
  current directory (i.e in its subdirectory "foo"), instead of searching
  in the path. Before, we had to write "camlp4 ./foo/bar.cmo".

* [01 Dec 06] In "pa_macro.cmo", the expression after IFDEF can use
  the infix operators OR and AND, the prefix one NOT and expressions
  between parentheses.

* [01 Dec 06] The same distribution can compile with several versions
  of OCaml. After "./configure", the good version of OCaml interfaces
  are selected.

* [01 Dec 06] The type "location" is now abstract. Defined in stdpp.mli.

* [01 Dec 06] First distributed version; started from old camlp4
  version 3.06 and updated.
