Version française
Home     About     Download     Resources     Contact us    
Browse thread
Camlp4 2.01
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Daniel de Rauglaudre <daniel.de_rauglaudre@i...>
Subject: Camlp4 2.01
Camlp4 is a preprocessor-pretty-printer for Objective Caml.

The version 2.01, compatible with Ocaml 2.01 has been released.

All informations and downloading address at:
	http://caml.inria.fr/camlp4/

Among changes, notice that the interface of the module Token
changed. If you defined your own lexers (not using the predefined
Plexer), you have things to changes in your programs. See the file
README-2.01 in the distribution and the documentation of Camlp4.

Camlp4 Version 2.01 - Changes
-----------------------------

Token interface
* Big change: the type for tokens and tokens patterns is now (string * string)
  the first string being the constructor name and the second its possible
  parameters. No change in EXTEND statements using Plexer. But lexers
  have:
  - a supplementary parameter "tparse" to specify how to parse token
    from token patterns.
  - fields "using" and "removing" replacing "add_keyword" and
    "remove_keyword".
  See the file README-2.01 for how to update your programs and the interface
  of Token.

Grammar interface
* The function "keywords" have been replaced by "tokens". The equivalent
  of the old statement:
       Grammar.keywords g
  is now:
       Grammar.tokens g ""

Missing features added 
* Added "lazy" statement (pa_r.cmo, pa_o.cmo, pr_r.cmo, pr_o.cmo)
* Added print "assert" statement (pr_o.cmo, pr_r.cmo)
* Added parsing of infix operators like in Ocaml (e.g. |||) in pa_o.cmo

Compilation
* Added "make scratch"
* Changed Makefile. No more "make T=../", working bad in some systems.
* Some changes to make compilation in Windows 95/98 working better (thanks
  to Patricia Peratto).

Classes and objects
* Added quotations for classes and objects (q_MLast.ml)
* Added accessible entries in module Pcaml (class_type, class_expr, etc.)
* Changed classes and objects types in definition (module MLast)

Miscelleneous
* Some adds in pa_sml.cmo. Thanks to Franklin Chen.
* Added option "-no_cp" when "pr_o.cmo" or "pr_r.cmo" is loaded: do
  not print comments between phrases.
* Added option "-split_gext" when "pa_extend.cmo" is loaded: split GEXTEND
  by functions to turn around a PowerPC problem.

Bug fixes
* Fixed pa_r.cmo, pa_o.cmo to parse, and pr_r.cmo, pr_o.cmo to print "(x:#M.c)"
* Fixed printing pr_o.cmo of "(a.b <- 1)::1"
* Extended options with parameters worked only when the parameter was sticked.
  Ex:
     camlp4o pr_o.cmo -l120 foo.ml
  worked, but not:
     camlp4o pr_o.cmo -l 120 foo.ml

--------------------------------------------------------------------------
 Daniel de RAUGLAUDRE
 Projet Cristal - INRIA Rocquencourt
 Email: daniel.de_rauglaudre@inria.fr
 Web: http://cristal.inria.fr/~ddr/
--------------------------------------------------------------------------