Формальные грамматики — различия между версиями
Filchenko (обсуждение | вклад) (Исправил пример - арифметические выражения) |
Filchenko (обсуждение | вклад) (Исправлены тире) |
||
| Строка 1: | Строка 1: | ||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
| − | '''Нетерминал''' | + | '''Нетерминал''' — элемент, представляющий некоторую сущность языка (например часть формулы) и не имеющий конкретного значения. |
}} | }} | ||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
| − | '''Формальная грамматика''' | + | '''Формальная грамматика''' — способ описания формального языка, представляющий собой четверку |
<tex>\Gamma =\langle \Sigma, N, S \in N, P \subset 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> | <tex>\Gamma =\langle \Sigma, N, S \in N, P \subset 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> | ||
}} | }} | ||
| Строка 12: | Строка 12: | ||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
| − | '''Терминал''' | + | '''Терминал''' — элемент фалфавита <tex>\Sigma</tex> |
}} | }} | ||
| Строка 31: | Строка 31: | ||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
| − | '''Язык грамматики''' | + | '''Язык грамматики''' — все последовательности терминалов, которые можно получить из начального символа по правилам вывода. <tex>L(\Gamma) = \{\omega|S \Rightarrow^{*}\omega, \omega \in \Sigma^{*}\}</tex> |
}} | }} | ||
Версия 05:08, 10 ноября 2011
| Определение: |
| Нетерминал — элемент, представляющий некоторую сущность языка (например часть формулы) и не имеющий конкретного значения. |
| Определение: |
| Формальная грамматика — способ описания формального языка, представляющий собой четверку , где - алфавит, - набор нетерминалов, - начальный символ грамматики, - набор правил вывода |
| Определение: |
| Терминал — элемент фалфавита |
| Определение: |
( выводится из за один шаг):
|
| Определение: |
| ( выводится из за ноль или более шагов): |
| Определение: |
| Язык грамматики — все последовательности терминалов, которые можно получить из начального символа по правилам вывода. |
Примеры грамматик
Правильные скобочные последовательности
Вывод строки :
Арифметические выражения
- - два выражения, соединенные действием
- - выражение, взятое в скобки
- - ноль
- - число, у которого первая цифра не ноль
- - действие
- - цифра, не являющаяся нулем
- - любая последовательность из цифр, возможно пустая
- - любая цифра
Вывод строки :
Левосторонний вывод для такой же строки: