Формален език
Тази статия съдържа списък с ползвана литература, препоръчана литература или външни препратки, но източниците ѝ остават неясни, защото липсва конкретно посочване на източници за отделните твърдения. (25 март 2022) |
Формален език в математиката, логиката и компютърните науки е множество от думи и изрази с определена крайна дължина, извлечено от дадена крайна азбука.
Азбука може да бъде {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