The CDL3 Project

The CDL3 project at the University of Nijmegen in the Netherlands is a framework for research in implementation languages and compiler construction. CDL3 is a programming language, based on Affix Grammars, intended for the development of compilers and other complicated pieces of software that can be implemented as syntax-directed transducers.

The rationale behind CDL3 has been described in: C.H.A. Koster and J. Beney (1991), On the Borderline between Grammars and Programs. In: Proceedings PLILP'91, Passau, Springer Lecture Notes in Computer Science 528, p. 219-230. gzipped postscript

Superficially, the language looks like PROLOG, a programming language based on a related grammatical formalism namely Metamorphosis Grammars, from which it distinguishes itself in two important aspects:

For these reasons, efficiency and static checking are much better than in PROLOG. CDL3 is available as a compiler generator on numerous platforms, producing either very efficient assembly code or (less efficient but portable) C code. As a language for the efficient development of reliable and maintainable compilers and transducers, CLD3 provides an interesting and efficient way to generate C programs.

Obtaining the cdl3 system

Related projects

The cdl3 system has been developed by Jean Beney, Kees Koster and Paul Jones at the University of Nijmegen. It is freely available for non-commercial use, on an as-is basis. Commercial users are requested to contact:

Cornelis H.A. Koster
Department of Computing Science
Univesity of Nijmegen
6525ED Nijmegen, The Netherlands
tel: +31.24.3653456
fax: +31.24.3553450
mail me at kees atsign