Talk:Compiler Description Language
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. This can be worked around using defines (similar to C #define), but this is a fairly messy solution.
Now that's what I call NPOV!
As for me, having programmed in CDL1 and CDL2 for about ten years (building a large Prolog system in CDL2 with a medium sized team) and having a solid background in two-level grammars, it looks like a very easy language to program in.
For the second part of the quote, i.e., that variables cannot be named, please read section 2.1.4 of the manual. In any case, the reason for this approach is that the "variables" are actually instances of types.
I'll try to come back and do some edits after I've read the CDL3 manual. Then someone can criticize my POV-s :-).