Compiler Description Language (CDL) is een onder leiding van C.H.A. Koster ontwikkelde reeks programmeertalen op basis van affixgrammatica's voor de ontwikkeling van compilers.
Een programma in CDL bestaat voornamelijk uit een reeks grammaticaregels die beschrijven hoe de invoer ontleed kan worden. De gebruikte grammatica is contextvrije grammatica waarin de regels argumenten bevatten (de zogeheten affixen). De regels krijgen daardoor het karakter van procedures die andere procedures aanroepen.
Daarnaast is het mogelijk om regels te maken waarvan de inhoud bestaat uit code in de doeltaal (de taal waarheen de compiler het invoerprogramma vertaalt). Zo kan ook de benodigde codegeneratie worden gespecificeerd en een volledige compiler worden gebouwd.