Формальные грамматики — различия между версиями
Filchenko (обсуждение | вклад) (Определение вывода за ноль или более шагов исправил) |
Filchenko (обсуждение | вклад) (Исправил пример - псп) |
||
Строка 36: | Строка 36: | ||
==Примеры грамматик== | ==Примеры грамматик== | ||
===Правильные скобочные последовательности=== | ===Правильные скобочные последовательности=== | ||
− | <tex> | + | <tex>\Sigma = \{(, )\}</tex> |
− | <tex>S \rightarrow SS</tex> | + | # <tex>S \rightarrow (S)</tex> |
− | + | # <tex>S \rightarrow SS</tex> | |
− | <tex>S \rightarrow \epsilon</tex> | + | # <tex>S \rightarrow \epsilon</tex> |
Вывод строки <tex>(()())</tex>: | Вывод строки <tex>(()())</tex>: |
Версия 03:56, 10 ноября 2011
Определение: |
Нетерминал - элемент, представляющий некоторую сущность языка (например часть формулы) и не имеющий конкретного значения. |
Определение: |
Формальная грамматика - это способ описания формального языка, представляющий собой четверку алфавит, - набор нетерминалов, - начальный символ грамматики, - набор правил вывода | , где -
Определение: |
Терминал - элемент фалфавита |
Определение: |
| ( выводится из за один шаг):
Определение: |
Определение: |
Язык грамматики - все последовательности терминалов, которые можно получить из начального символа по правилам вывода. |
Примеры грамматик
Правильные скобочные последовательности
Вывод строки
:Арифметические выражения