A new version (0.17.4) of the Compiler Toolkit - a
collection of modules supporting the development of
compiler-like applications in Haskell 98 - is now available
from

  http://www.score.is.tsukuba.ac.jp/~chak/ctk/

The main addition are modules providing combinators for

* self-optimizing, deterministic lexical analyzers and
* self-optimizing, deterministic LL(1) parsers.

As far as I know, the approach taken for the lexical
analyzers is new, whereas the parsers are a reimplementation
of Swierstra & Duponcheel's ideas.  A lexical analyzer for C
header files implemented with the library, achieves about
4000 tokens/sec when reading a 233MB output from cpp on a
200MHz PentiumPro running Linux (using GHC 4.02 and *no*
special optimizations, such as, fast strings or so).

The code is tested on GHC 3.02 and GHC 4.02, but shouldn't
be difficult to use on other Haskell 1.4 or Haskell 98
systems.  The parser combinators (and only those) require
non-standard support for existentially quantified types
(which I think are supported on all systems in one way or
the other).

Any comments are highly appreciated,

Manuel



Reply via email to