A Software Collection


The LCC compiler is a portable C compiler, written by Chris Fraser & David Hanson. It is described in detail in their new book ``A Retargetable C Compiler: Design and Implementation'' (Benjamin Cummings, 1995, ISBN 0-8053-1670-1). You can get the current distribution by ftp.


One of the nicest new languages is (Concurrent) Clean from the KU Nijmegen. A text-only version of the 0.8 language manual is locally present. Initially, Clean was intended as a intermediate representation, not a "real language"; but users have been quite enthusiastic about it. Clean's somewhat strange syntax will be changed to something Haskell-like (The Haskell 1.2 report is available as a local DVI file).
The semantics of Clean provides the notion of uniqueness types. If a function parameter is unique, the type system guarantees that arguments passed to it don't exist anywhere else. (There is a connection to linear types, but I am not quite sure what it is. I have not yet seen the formal semantics of Clean.) Declaring a parameter unique enables all kinds of nifty optimizations (e.g. in-place updating of arrays). Uniqueness types also provide for an interesting alternative and/or extension to the monadic style of state plumbing.
(There are ca. 2 Mbyte of material in this local mirror; a lot of it binaries)

CBC and nML

CBC is a project devoted to the development of a retargetable microcode compiler for digital signal processor core architectures. It was part of the ESPRIT project SPRITE. CBC employs the instruction set description formalism nML to describe target architectures. For further info about CBC, ask Andreas Fauth. Sorry for the atrocious mark-up, the CBC page mostly contains stuff made by the TeX2html converter.


J is a ASCII-only successor to APL. Here are some introductory articles and example programs. I once had a low-performance implementation for the Mac but removed it in a misguided harddisk purge.
(There are ca. 49 kbyte of material in this local mirror)


PRECC (PREttier Compiler Compiler) is a LR-infinity parser tool build upon combinatorial parsing. Its authors are John Bowen and Peter Breuer. It is much more powerful than standard tools such as yacc, but the current implementation is not very luxurious with regards to syntactic and semantic errors in the precc specification. It can also be dead slow, in that the generated parsers are somewhat naive (as far as I understand them, they don't cache partial parses when backtracking). Three papers describe applications of precc.
(There are ca. 727 kbyte of material in this local mirror; it includes stuff from version 2.30 and 2.40)
This page was last changed on May 30 1995, 16:46 by mfx@pobox.com. Comments and corrections welcome.