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

Синтактично подразделение в рамките на формална система

Азбука може да бъде {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