Формальные грамматики — различия между версиями
Filchenko (обсуждение | вклад) (литература) |
Filchenko (обсуждение | вклад) (фикс структуры) |
||
Строка 1: | Строка 1: | ||
+ | = Определения = | ||
{{Определение | {{Определение | ||
|definition = | |definition = | ||
Строка 38: | Строка 39: | ||
}} | }} | ||
− | + | =Примеры грамматик= | |
− | + | ==Правильные скобочные последовательности== | |
<tex>\Sigma = \{(, )\}</tex> | <tex>\Sigma = \{(, )\}</tex> | ||
Строка 49: | Строка 50: | ||
<tex>S\rightarrow(S)\rightarrow(SS)\rightarrow((S)S)\rightarrow((S)(S))\rightarrow(()(S))\rightarrow(()())</tex> | <tex>S\rightarrow(S)\rightarrow(SS)\rightarrow((S)S)\rightarrow((S)(S))\rightarrow(()(S))\rightarrow(()())</tex> | ||
− | + | ==Арифметические выражения== | |
<tex>\Sigma = \{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, +, *, /, -, (, )\}</tex> | <tex>\Sigma = \{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, +, *, /, -, (, )\}</tex> | ||
# <tex>S \rightarrow S O S</tex> — два выражения, соединенные действием | # <tex>S \rightarrow S O S</tex> — два выражения, соединенные действием |
Версия 05:52, 10 ноября 2011
Содержание
Определения
Определение: |
Нетерминал — элемент, представляющий некоторую сущность языка (например, часть формулы) и не имеющий конкретного значения. Нетерминалы обозначаются заглавными буквами латинского алфавита. |
Определение: |
Терминал — элемент алфавита Терминалы обозначаются строчными буквами латинского алфавита. |
Последовательности из терминалов и нетерминалов обозначаются строчными буквами греческого алфавита.
Определение: |
Формальная грамматика — способ описания формального языка, представляющий собой четверку алфавит, — набор нетерминалов, — начальный символ грамматики, — набор правил вывода | , где —
Определение: |
| ( выводится из за один шаг):
Определение: |
Определение: |
Язык грамматики — все последовательности терминалов, которые можно получить из начального символа по правилам вывода. | .
Примеры грамматик
Правильные скобочные последовательности
Вывод строки
:Арифметические выражения
- — два выражения, соединенные действием
- — выражение, взятое в скобки
- — ноль
- — число, у которого первая цифра не ноль
- — действие
- — цифра, не являющаяся нулем
- — любая последовательность из цифр, возможно пустая
- — любая цифра
Вывод строки
:Левосторонний вывод для такой же строки:
Литература
- Хопкрофт Д., Мотвани Р., Ульман Д. — Введение в теорию автоматов, языков и вычислений, 2-е изд. : Пер. с англ. — Москва, Издательский дом «Вильямс», 2002. — 528 с. : ISBN 5-8459-0261-4 (рус.)