Compiler Description Language

This is an old revision of this page, as edited by Fabrictramp (talk | contribs) at 19:10, 18 June 2007 (Dead-end pages clean up project; you can help! using AWB). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Compiler Description Language, or CDL, is a language based on affix grammars. It is intended for the development of compilers. It is very limited in its capabilities and control flow. Although the language looks a bit like Prolog, control flow is entirely based on success/failure: there does not exist a logical NOT-operator in CDL3.

CDL3 is difficult to program in. Because it is mainly used in academic context, the documentation is difficult to navigate. Furthermore, CDL3 has a compiler with uninformative error messages, and the language does not allow naming of variables: all variables of type T (e.g. INT, TEXT) are named T0, T1, T2, and so forth [1]. This can be worked around using defines (similar to C #define), but this is a fairly messy solution.

References

[1]: http://www.cs.ru.nl/~kees/vbcourse/ivbstuff/cdl3.pdf