Основные определения и обозначения

Грамматика – это математическая система, определяющая язык.

В грамматике для определения языка используются следующие математические объекты:

Ɲ - конечное множество (алфавит) нетерминальных символов или нетерминалов;

- конечное множество (алфавит) терминальных символов или терминалов, причем Ɲ= ;

- конечное множество правил, называемых продукциями, образования цепочек, которые описывают процесс порождения цепочек языка;

Ɲ - выделенный из Ɲ символ, называемый начальным (или исходным). Вывод любой цепочки языка осуществляется из начального символа.

Из терминальных символов образуются цепочки определяемого языка. Нетерминальные символы используются как промежуточные в процессе порождения (вывода) цепочек языка.

Продукция – это пара цепочек , точнее, элемент множества

Ɲ Ɲ Ɲ Ɲ ,

т.е. элемент декартова произведения множеств Ɲ Ɲ Ɲ и Ɲ .Иначе говоря, первой компонентой продукции является любая цепочка, содержащая хотя бы один нетерминал, а второй компонентой – любая цепочка.

Продукция записывается в виде , где направление стрелки показывает, что при использовании данной продукции в процессе вывода цепочка (или подцепочка) заменяется на цепочку (или подцепочку) . Наличие любой продукции в множестве не предписывает обязательно эту продукцию использовать, а лишь определяет возможность ее использования, если текущая цепочка совпадает с или содержит в себе как подцепочку.

Для обозначения продукций с одинаковой левой частью, т.е. продукций вида: , , , ; используется сокращенная запись .

Шаг вывода цепочки – это однократное использование какой-либо продукции. Шаг вывода, состоящий в замене цепочки (или подцепочки) на цепочку (или подцепочку) , обозначается .

Для обозначения последовательности шагов вывода, например, используется сокращенная запись .

Грамматикой называется четверка Ɲ, , составляющие элементы которой определены выше.

Грамматика определяет язык рекурсивно. Рекурсивность проявляется в задании особого рода цепочек, называемых выводимыми цепочками грамматики Ɲ, :

1) - выводимая в цепочка.

2) Если - выводима в цепочка и содержится в , то - тоже выводимая в цепочка, причем цепочка называется непосредственно выводимой из .

Если - выводимая цепочка, то существует последовательность шагов вывода, позволяющая из начального символа грамматики вывести эту цепочку. Опуская отдельные шаги вывода, вся такая последовательность шагов обозначается как . Т.о., символ обозначает транзитивное замыкание шагов вывода.

Для указания на грамматику , в рамках которой сделан данный шаг вывода, используется обозначение . Символ можно рассматривать как символ отношения “непосредственно выводима в грамматике ”, определенного на множестве всех возможных цепочек алфавита. Транзитивное замыкание отношения обозначается и читается “выводима нетривиальным образом в грамматике ”.

Выводимая цепочка грамматики , не содержащая нетерминальных символов, называется терминальной цепочкой, порождаемой грамматикой .

Язык, порождаемый грамматикой , обозначается - это множество всех терминальных цепочек, порождаемых грамматикой :

.








Дата добавления: 2015-08-11; просмотров: 1199;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.