Основные определения и обозначения
Грамматика – это математическая система, определяющая язык.
В грамматике для определения языка используются следующие математические объекты:
Ɲ - конечное множество (алфавит) нетерминальных символов или нетерминалов;
- конечное множество (алфавит) терминальных символов или терминалов, причем Ɲ= ;
- конечное множество правил, называемых продукциями, образования цепочек, которые описывают процесс порождения цепочек языка;
Ɲ - выделенный из Ɲ символ, называемый начальным (или исходным). Вывод любой цепочки языка осуществляется из начального символа.
Из терминальных символов образуются цепочки определяемого языка. Нетерминальные символы используются как промежуточные в процессе порождения (вывода) цепочек языка.
Продукция – это пара цепочек , точнее, элемент множества
Ɲ Ɲ Ɲ Ɲ ,
т.е. элемент декартова произведения множеств Ɲ Ɲ Ɲ и Ɲ .Иначе говоря, первой компонентой продукции является любая цепочка, содержащая хотя бы один нетерминал, а второй компонентой – любая цепочка.
Продукция записывается в виде , где направление стрелки показывает, что при использовании данной продукции в процессе вывода цепочка (или подцепочка) заменяется на цепочку (или подцепочку) . Наличие любой продукции в множестве не предписывает обязательно эту продукцию использовать, а лишь определяет возможность ее использования, если текущая цепочка совпадает с или содержит в себе как подцепочку.
Для обозначения продукций с одинаковой левой частью, т.е. продукций вида: , , , ; используется сокращенная запись .
Шаг вывода цепочки – это однократное использование какой-либо продукции. Шаг вывода, состоящий в замене цепочки (или подцепочки) на цепочку (или подцепочку) , обозначается .
Для обозначения последовательности шагов вывода, например, используется сокращенная запись .
Грамматикой называется четверка Ɲ, , составляющие элементы которой определены выше.
Грамматика определяет язык рекурсивно. Рекурсивность проявляется в задании особого рода цепочек, называемых выводимыми цепочками грамматики Ɲ, :
1) - выводимая в цепочка.
2) Если - выводима в цепочка и содержится в , то - тоже выводимая в цепочка, причем цепочка называется непосредственно выводимой из .
Если - выводимая цепочка, то существует последовательность шагов вывода, позволяющая из начального символа грамматики вывести эту цепочку. Опуская отдельные шаги вывода, вся такая последовательность шагов обозначается как . Т.о., символ обозначает транзитивное замыкание шагов вывода.
Для указания на грамматику , в рамках которой сделан данный шаг вывода, используется обозначение . Символ можно рассматривать как символ отношения “непосредственно выводима в грамматике ”, определенного на множестве всех возможных цепочек алфавита. Транзитивное замыкание отношения обозначается и читается “выводима нетривиальным образом в грамматике ”.
Выводимая цепочка грамматики , не содержащая нетерминальных символов, называется терминальной цепочкой, порождаемой грамматикой .
Язык, порождаемый грамматикой , обозначается - это множество всех терминальных цепочек, порождаемых грамматикой :
.
Дата добавления: 2015-08-11; просмотров: 1199;