The CDL3 project at the
Radboud University 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.
Some publications about CDL3:
-
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
This is the main article describing the rationale behind CDL3
- Caspar Derksen, "On the Transformational Derivation
of an Efficient Recognizer for Algol 68".
Masters Thesis no. 357, University of Nijmegen, August 1995
gzipped postscript
pdf
relates CDL3 to W-grammars and to Extended Affix Grammars
(EAG)
- The manual of the CDL3 system in
gzipped postscript or pdf .
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:
- the language is purely deterministic, without backtracking.
In fact it is based on a deterministic interpretation of Affix Grammars.
- the language is strongly typed, with typed terms as the basic
datastructure.
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.
The CDL3 system has been developed by Jean Beney, Kees Koster and Paul
Jones at the Radboud University Nijmegen. It is freely available
under the GPL.
More information:
Related projects
Contact:
Cornelis H.A. Koster
Department of Computing Science
Radboud University Nijmegen
6525ED Nijmegen, The Netherlands
tel: +31.24.3653456
fax: +31.24.3553450
mail me at kees atsign cs.ru.nl
|