Формальные грамматики — различия между версиями
Filchenko (обсуждение | вклад) (Исправлено определение P) |
Filchenko (обсуждение | вклад) (Определение вывода за 1 шаг исправил) |
||
| Строка 17: | Строка 17: | ||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
| − | <tex>\alpha \Rightarrow \beta</tex> (<tex>\beta</tex> выводится из <tex>\alpha</tex> за один шаг) | + | <tex>\alpha \Rightarrow \beta</tex> ('''<tex>\beta</tex> выводится из <tex>\alpha</tex> за один шаг'''): |
| − | + | # <tex>\alpha=\alpha_1\alpha_2\alpha_3</tex> | |
| − | <tex>\alpha=\alpha_1\alpha_2\alpha_3</tex> | + | # <tex>\beta=\beta_1\beta_2\beta_3</tex> |
| − | + | # <tex>\alpha_1=\beta1</tex>, <tex>\alpha_3=\beta3</tex>, <tex>\alpha_2\rightarrow\beta2 \in P</tex> | |
| − | <tex>\beta=\beta_1\beta_2\beta_3</tex> | ||
| − | |||
| − | <tex>\alpha_1=\beta1</tex> | ||
| − | |||
| − | <tex>\alpha_3=\beta3</tex> | ||
| − | |||
| − | <tex>\alpha_2\rightarrow\beta2 \in P</tex> | ||
}} | }} | ||
Версия 03:50, 10 ноября 2011
| Определение: |
| Нетерминал - элемент, представляющий некоторую сущность языка (например часть формулы) и не имеющий конкретного значения. |
| Определение: |
| Формальная грамматика - это способ описания формального языка, представляющий собой четверку , где - алфавит, - набор нетерминалов, - начальный символ грамматики, - набор правил вывода |
| Определение: |
| Терминал - элемент фалфавита |
| Определение: |
( выводится из за один шаг):
|
| Определение: |
| ( выводится из за ноль или более шагов), если |
| Определение: |
| Язык грамматики - все последовательности терминалов, которые можно получить из начального символа по правилам вывода. |
Примеры грамматик
Правильные скобочные последовательности
Вывод строки :
Арифметические выражения