Формальные грамматики — различия между версиями
Filchenko (обсуждение | вклад) (убрал рамку) |
Filchenko (обсуждение | вклад) (ссылка на алфавит исправлена) |
||
Строка 7: | Строка 7: | ||
|definition = | |definition = | ||
'''Формальная грамматика''' - это способ описания формального языка, представляющий собой четверку | '''Формальная грамматика''' - это способ описания формального языка, представляющий собой четверку | ||
− | <tex>\Gamma =\langle \Sigma, N, S \in N, P \in N^{*}\times (\Sigma\cup N)^{*}\rangle</tex>, где <tex>\Sigma</tex> - [[алфавит]], <tex>N</tex> - набор нетерминалов, <tex>S</tex> - начальный символ грамматики, <tex>P</tex> - правило вывода <tex>\alpha\rightarrow \beta</tex> | + | <tex>\Gamma =\langle \Sigma, N, S \in N, P \in N^{*}\times (\Sigma\cup N)^{*}\rangle</tex>, где <tex>\Sigma</tex> - [[wiki:Основные_определения: алфавит, слово, язык, конкатенация, свободный моноид слов|алфавит]], <tex>N</tex> - набор нетерминалов, <tex>S</tex> - начальный символ грамматики, <tex>P</tex> - правило вывода <tex>\alpha\rightarrow \beta</tex> |
}} | }} | ||
Версия 03:39, 10 ноября 2011
Определение: |
Нетерминал - элемент, представляющий некоторую сущность языка (например часть формулы) и не имеющий конкретного значения. |
Определение: |
Формальная грамматика - это способ описания формального языка, представляющий собой четверку алфавит, - набор нетерминалов, - начальный символ грамматики, - правило вывода | , где -
Определение: |
Терминал - элемент фалфавита |
Определение: |
| ( выводится из за один шаг), если
Определение: |
( выводится из за ноль или более шагов), если |
Определение: |
Язык грамматики - все последовательности терминалов, которые можно получить из начального символа по правилам вывода. |
Примеры грамматик
Правильные скобочные последовательности
Вывод строки
:Арифметические выражения