This article provides insufficient context for those unfamiliar with the subject. |
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.