Формальные грамматики — различия между версиями
Filchenko (обсуждение | вклад) (фикс ссылок) |
Filchenko (обсуждение | вклад) (литература) |
||
| Строка 63: | Строка 63: | ||
[[Контекстно-свободные грамматики, вывод, лево- и правосторонний вывод, дерево разбора|Левосторонний вывод]] для такой же строки: <tex>S \rightarrow SOS \rightarrow 2OS \rightarrow 2+S \rightarrow 2+SOS \rightarrow 2+2OS \rightarrow 2+2*S \rightarrow 2+2*2</tex> | [[Контекстно-свободные грамматики, вывод, лево- и правосторонний вывод, дерево разбора|Левосторонний вывод]] для такой же строки: <tex>S \rightarrow SOS \rightarrow 2OS \rightarrow 2+S \rightarrow 2+SOS \rightarrow 2+2OS \rightarrow 2+2*S \rightarrow 2+2*2</tex> | ||
| + | |||
| + | = Литература = | ||
| + | * ''Хопкрофт Д., Мотвани Р., Ульман Д.'' — '''Введение в теорию автоматов, языков и вычислений''', 2-е изд. : Пер. с англ. — Москва, Издательский дом «Вильямс», 2002. — 528 с. : ISBN 5-8459-0261-4 (рус.) | ||
Версия 05:51, 10 ноября 2011
| Определение: |
| Нетерминал — элемент, представляющий некоторую сущность языка (например, часть формулы) и не имеющий конкретного значения. Нетерминалы обозначаются заглавными буквами латинского алфавита. |
| Определение: |
| Терминал — элемент алфавита Терминалы обозначаются строчными буквами латинского алфавита. |
Последовательности из терминалов и нетерминалов обозначаются строчными буквами греческого алфавита.
| Определение: |
| Формальная грамматика — способ описания формального языка, представляющий собой четверку , где — алфавит, — набор нетерминалов, — начальный символ грамматики, — набор правил вывода |
| Определение: |
( выводится из за один шаг):
|
| Определение: |
| ( выводится из за ноль или более шагов): |
| Определение: |
| Язык грамматики — все последовательности терминалов, которые можно получить из начального символа по правилам вывода. . |
Содержание
Примеры грамматик
Правильные скобочные последовательности
Вывод строки :
Арифметические выражения
- — два выражения, соединенные действием
- — выражение, взятое в скобки
- — ноль
- — число, у которого первая цифра не ноль
- — действие
- — цифра, не являющаяся нулем
- — любая последовательность из цифр, возможно пустая
- — любая цифра
Вывод строки :
Левосторонний вывод для такой же строки:
Литература
- Хопкрофт Д., Мотвани Р., Ульман Д. — Введение в теорию автоматов, языков и вычислений, 2-е изд. : Пер. с англ. — Москва, Издательский дом «Вильямс», 2002. — 528 с. : ISBN 5-8459-0261-4 (рус.)