Формален език в математиката, логиката и компютърните науки е множество от думи и изрази с определена крайна дължина, извлечено от дадена крайна азбука.

Азбука може да бъде {c,d} и низ към/за тази азбука може да бъде cddddc. Типичен език на тази азбука, съдържащ низа cddddc, ще бъде множеството от всички низове, които съдържат същият брой c и d символи.

Празната дума (низ с нулева дължина) е разрешен и често означаван като e, ε или Λ. Докато азбуката е крайно множество и всеки низ има крайна дължина, то езикът може съвсем спокойно да се състои от безкрайно много низове.

Някои примери за формални езици: множество на всички думи от {a,b}; множество { an : n е естествено число по-голямо от единица} (където an означава a повторено n пъти); множество от синтактично правилни програми за даден програмен език.

Формалният език може да бъде специфициран по много начини: Низ, изведен от формална граматика (виж Йерархия на Чомски); Низ, произведен от регулярен израз; Низ, приет от някаква автоматизация, например Машина на Тюринг.

Няколко операции могат да създадат нови езици от дадени такива.

Например: Да вземем L1 и L2, които са езици, имащи обща азбука. Конкатенацията на L1 и L2 са всички низове от типа vw, където v е низ от L1 и w е низ от L2 Конюнкцията на L1 и L2 се състои от всички низове съдържащи се както в L1, така и в L2

и т.н.

Източници Fábrega, Josep, Natural language and formal languages, MIT, 1997 Frank Morawietz, Two-step Approaches to Natural Language Formalisms, Walter de Gruyter, 2003