Формальные грамматики — различия между версиями
Filchenko (обсуждение | вклад) (обозначения, переместил определение терминала) |
Filchenko (обсуждение | вклад) (опечатка) |
||
Строка 7: | Строка 7: | ||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
− | '''Терминал''' — элемент | + | '''Терминал''' — элемент алфавита <tex>\Sigma</tex><br/> |
Терминалы обозначаются строчными буквами латинского алфавита. | Терминалы обозначаются строчными буквами латинского алфавита. | ||
}} | }} |
Версия 05:30, 10 ноября 2011
Определение: |
Нетерминал — элемент, представляющий некоторую сущность языка (например часть формулы) и не имеющий конкретного значения. Нетерминалы обозначаются заглавными буквами латинского алфавита. |
Определение: |
Терминал — элемент алфавита Терминалы обозначаются строчными буквами латинского алфавита. |
Последовательности из терминалов и нетерминалов обозначаются строчными буквами греческого алфавита.
Определение: |
Формальная грамматика — способ описания формального языка, представляющий собой четверку алфавит, - набор нетерминалов, - начальный символ грамматики, - набор правил вывода | , где -
Определение: |
| ( выводится из за один шаг):
Определение: |
Определение: |
Язык грамматики — все последовательности терминалов, которые можно получить из начального символа по правилам вывода. |
Примеры грамматик
Правильные скобочные последовательности
Вывод строки
:Арифметические выражения
- — два выражения, соединенные действием
- — выражение, взятое в скобки
- — ноль
- — число, у которого первая цифра не ноль
- — действие
- — цифра, не являющаяся нулем
- — любая последовательность из цифр, возможно пустая
- — любая цифра
Вывод строки
:Левосторонний вывод для такой же строки: