DSL to skrót od angielskiego wyrażenia Domain Specific Languages, czyli w wolnym tłumaczeniu wyspecjalizowane/specjalizowane języki dziedzinowe. Realizując różnego typu projekty, często się okazuje, iż warto byłoby utworzyć niewielki program czy skrypt realizujący zadania związane ściśle z projektem, jednakże o składni innej niż typowe uniwersalne języki programowania (zwane też językami GPL – ang. General Purpose Languages). Budowa analizatora, a później interpretera czy nawet własnego edytora to niewątpliwie zadanie, które wymaga poświęcenia sporej ilości czasu.