Формален език: Разлика между версии
м Робот Добавяне: fa:زبانهای فرمال Изтриване: id:Bahasa formal |
Daggerstab (беседа | приноси) Редакция без резюме |
||
Ред 3: | Ред 3: | ||
В [[математика|математиката]], [[логика|логиката]] и компютърните науки, '''формален език''' е това множество от думи с крайна дължина (тоест буквени низове) извлечено от дадена крайна [[азбука]]. Научната теория, за която формалните езици са обект на изучаване се нарича ''теория на формалните езици''. |
В [[математика|математиката]], [[логика|логиката]] и компютърните науки, '''формален език''' е това множество от думи с крайна дължина (тоест буквени низове) извлечено от дадена крайна [[азбука]]. Научната теория, за която формалните езици са обект на изучаване се нарича ''теория на формалните езици''. |
||
Азбука може да бъде {c,d} и низ към/за тази азбука може да бъде cddddc. Типичен език на тази азбука, съдържащ |
Азбука може да бъде {c,d} и низ към/за тази азбука може да бъде cddddc. Типичен език на тази азбука, съдържащ низа cddddc, ще бъде множеството от всички [[низ]]ове, които съдържат същият брой c и d символи. |
||
Празната дума (низ с нулева дължина) е разрешен и често означаван като ''e'', ε или Λ. Докато азбуката е крайно множество и всеки |
Празната дума (низ с нулева дължина) е разрешен и често означаван като ''e'', ε или Λ. Докато азбуката е крайно множество и всеки низ има крайна дължина, то езикът може съвсем спокойно да се състои от безкрайно много низове. |
||
Някои примери за формални езици: |
Някои примери за формални езици: |
||
* множество на всички думи от {a,b} |
* множество на всички думи от {a,b} |
||
Ред 18: | Ред 18: | ||
Например. Да вземем ''L''<sub>1</sub> и ''L''<sub>2</sub>, които са езици имащи обща азбука. |
Например. Да вземем ''L''<sub>1</sub> и ''L''<sub>2</sub>, които са езици имащи обща азбука. |
||
* Конкатенацията на ''L''<sub>1</sub> и ''L''<sub>2</sub> е всички |
* Конкатенацията на ''L''<sub>1</sub> и ''L''<sub>2</sub> е всички низове от типа vw, където v е низ на ''L''<sub>1</sub> и w е низ на ''L''<sub>1</sub> |
||
* Конюнкцията на ''L''<sub>1</sub> и ''L''<sub>1</sub> се състои от всички |
* Конюнкцията на ''L''<sub>1</sub> и ''L''<sub>1</sub> се състои от всички низове съдържащи се както в ''L''<sub>1</sub>, така и в ''L''<sub>1</sub> |
||
и т.н. |
и т.н. |
Версия от 16:50, 21 юни 2008
В обикновената ежедневна употреба говорим за формален език като за начин на говорене обусловен от нормираност, стегнатост, строгост, терминологичност и неемотивност на изказа. Една внимателна, акуратна речевост.
В математиката, логиката и компютърните науки, формален език е това множество от думи с крайна дължина (тоест буквени низове) извлечено от дадена крайна азбука. Научната теория, за която формалните езици са обект на изучаване се нарича теория на формалните езици.
Азбука може да бъде {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
и т.н.