Формальные языки, грамматики и автоматы1 / Konspekt / SECTION1 / part121
.htmПред.Страница След.Страница Раздел Содержание 1.2. Определение формальной грамматики и языка Изучение предмета начнем с определения первичных понятий. 1.2.1. Первичные понятия Определение. Конечное множество символов, неделимых в данном рассмотрении, называется словарем или алфавитом, а символы, входящие в множество, - буквами алфавита. Например, алфавит A = {a, b, c, +, !} содержит 5 букв, а алфавит B = {00, 01, 10, 11} содержит 4 буквы, каждая из которых состоит из двух символов. Определение. Последовательность букв алфавита называется словом или цепочкой в этом алфавите. Число букв, входящих в слово, называется его длиной. Например, слово в алфавите A a=ab++c имеет длину l(a) = 5, а слово в алфавите B b=00110010 имеет длину l (b) = 4. Если задан алфавит A, то обозначим A* множество всевозможных цепочек, которые могут быть построены из букв алфавита A. При этом предполагается, что пустая цепочка, которую обозначим знаком $, также входит в множество A*. Определение. Формальной порождающей грамматикой Г называется следующая совокупность четырех объектов: Г = { Vт, VA, <I> О VA, R }, где Vт - терминальный алфавит (словарь); буквы этого алфавита называются терминальными символами; из них строятся цепочки порождаемые грамматикой; VA - нетерминальный, вспомогательный алфавит (словарь); буквы этого алфавита используются при построении цепочек; они могут входить в промежуточные цепочки, но не должны входить в результат порождения; <I> - начальный символ грамматики <I> О VA. R - множество правил вывода или порождающих правил вида a ® b , где aи b - цепочки , построенные из букв алфавита VтИ VA, который называют полным алфавитом (словарем) грамматики Г. В множество правил грамматики могут также входить правила с пустой правой частью вида <Е> ® . Чтобы избежать неопределенности из-за отсутствия символа в правой части правила, условимся использовать символ пустой цепочки, записывая такое правило в виде <Е> ® $. Чтобы установить правила построения цепочек, порождаемых грамматикой , введем следующие понятия. Определение. Пусть r = t ® g - правило грамматики Г и a = c't c" - цепочка символов, причем c', c" О(Vт ИVA) *. Тогда цепочка b= c' g c " может быть получена из цепочки путем применения правила r (т.е. заменой в m цепочки t на g). В этом случае говорят, что цепочка b непосредственно выведена из цепочки a и обозначают a Юb . Определение. Если задана совокупность цепочек W = ( v0, v1,...,vn), таких что существует последовательность непосредственных выводов: v0 Ю v1, v1 Ю v2, ... ,v n-1 Юv n, то такую последовательность называют выводом vn из v0 в грамматике Г и обозначают v 0 Ю* vn. Определение. Множество конечных цепочек терминального алфавита Vт грамматики Г, выводимых из начального символа <I>, называется языком, порождаемым грамматикой Г и обозначается L( Г). L( Г ) = {v О Vт* | <I> Ю*v }.
Пред.Страница След.Страница Раздел Содержание