Формальные грамматики — различия между версиями
Filchenko (обсуждение | вклад) (определение языка - фикс) |
Filchenko (обсуждение | вклад) (→Правильные скобочные последовательности: пример поинтересней) |
||
| Строка 52: | Строка 52: | ||
</tex><br/> | </tex><br/> | ||
| − | Вывод строки <tex>(()())</tex>: | + | Вывод строки <tex>(()())</tex>:<br/> |
<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>((()())(()))</tex>:<br/> | ||
| + | <tex>S\rightarrow(S)\rightarrow(SS)\rightarrow((S)S)\rightarrow((S)(S))\rightarrow</tex><br/> | ||
| + | <tex>\rightarrow((SS)((S)))\rightarrow (((S)S)((S))) \rightarrow ((()S)((S)))\rightarrow</tex><br/><tex>\rightarrow((()(S))((S)))\rightarrow ((()())((S)))\rightarrow ((()())(()))</tex> | ||
==Арифметические выражения== | ==Арифметические выражения== | ||
Версия 06:49, 10 ноября 2011
Содержание
Определения
| Определение: |
| Нетерминал — элемент, представляющий некоторую сущность языка (например, часть формулы) и не имеющий конкретного значения. |
| Определение: |
| Терминал — элемент алфавита . |
| Определение: |
| Формальная грамматика — способ описания формального языка, представляющий собой четверку , где — алфавит, — набор нетерминалов, — начальный символ грамматики, — набор правил вывода |
| Определение: |
( выводится из за один шаг ():
|
| Определение: |
| выводится из за ноль или более шагов (): |
| Определение: |
| Языком грамматики называется . |
Обозначения
- Нетерминалы обозначаются заглавными буквами латинского алфавита.
- Терминалы обозначаются строчными буквами из начала латинского алфавита.
- Последовательности из терминалов (слова) обозначают строчными буквами из конца латинского алфавита.
- Последовательности из терминалов и нетерминалов обозначаются строчными буквами греческого алфавита.
Примеры грамматик
Правильные скобочные последовательности
Вывод строки :
Вывод строки :
Арифметические выражения
Вывод строки :
Левосторонний вывод для такой же строки:
Литература
- Хопкрофт Д., Мотвани Р., Ульман Д. — Введение в теорию автоматов, языков и вычислений, 2-е изд. : Пер. с англ. — Москва, Издательский дом «Вильямс», 2002. — 528 с. : ISBN 5-8459-0261-4 (рус.)