Пред.Страница
След.Страница
Раздел Содержание
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 }.
|
Пред.Страница
След.Страница
Раздел Содержание