Формален език: Разлика между версии
м Робот Добавяне: simple:Formal language |
м Робот Добавяне: uk:Формальна мова |
||
Ред 53: | Ред 53: | ||
[[sk:Formálny jazyk]] |
[[sk:Formálny jazyk]] |
||
[[tr:Biçimsel dil kuramı]] |
[[tr:Biçimsel dil kuramı]] |
||
[[uk:Формальна мова]] |
|||
[[zh:形式语言]] |
[[zh:形式语言]] |
Версия от 01:11, 17 август 2007
В обикновената ежедневна употреба говорим за формален език като за начин на говорене обусловен от нормираност, стегнатост, строгост, терминологичност и неемотивност на изказа. Една внимателна, акуратна речевост.
В математиката, логиката и компютърните науки, формален език е това множество от думи с крайна дължина (тоест буквени низове) извлечено от дадена крайна азбука. Научната теория, за която формалните езици са обект на изучаване се нарича теория на формалните езици.
Азбука може да бъде {c,d} и низ към/за тази азбука може да бъде cddddc. Типичен език на тази азбука, съдържащ стринга cddddc, ще бъде множеството от всички стрингове, които съдържат същият брой c и d символи.
Празната дума (низ с нулева дължина) е разрешен и често означаван като e, ε или Λ. Докато азбуката е крайно множество и всеки стринг има крайна дължина, то езикът може съвсем спокойно да се състои от безкрайно много стрингове.
Някои примери за формални езици:
- множество на всички думи от {a,b}
- множество { an : n е естествено число по-голямо от единица} (където an означава a повторено n пъти)
- множество от синтактично правилни програми за даден програмен език
Формалният език може да бъде спицифизиран по много начини:
- Низ изведен от формална граматика (виж Йерархия на Чомски)
- Низ произведен от регулярен израз
- Низ приет от някаква автоматизация, например Машина на Тюринг
Няколко операции могат да създадат нови езици от дадени такива.
Например. Да вземем L1 и L2, които са езици имащи обща азбука.
- Конкатенацията на L1 и L2 е всички стрингове от типа vw, където v е стринг на L1 и w е стринг на L1
- Конюнкцията на L1 и L1 се състои от всички стрингове съдържащи се както в L1, така и в L1
и т.н.