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