🗊Презентация Конечные автоматы. (Лекция 5)

Нажмите для полного просмотра!
Конечные автоматы. (Лекция 5), слайд №1Конечные автоматы. (Лекция 5), слайд №2Конечные автоматы. (Лекция 5), слайд №3Конечные автоматы. (Лекция 5), слайд №4Конечные автоматы. (Лекция 5), слайд №5Конечные автоматы. (Лекция 5), слайд №6Конечные автоматы. (Лекция 5), слайд №7Конечные автоматы. (Лекция 5), слайд №8Конечные автоматы. (Лекция 5), слайд №9Конечные автоматы. (Лекция 5), слайд №10Конечные автоматы. (Лекция 5), слайд №11

Вы можете ознакомиться и скачать презентацию на тему Конечные автоматы. (Лекция 5). Доклад-сообщение содержит 11 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1






Лекция 05. 
Конечные автоматы
Описание слайда:
Лекция 05. Конечные автоматы

Слайд 2





В основе лексических анализаторов лежат регулярные грамматики
Соглашение: в дальнейшем, если особо не оговорено, под регулярной грамматикой будем понимать леволинейную грамматику.
Напомним, что грамматика G = (VT, VN, P, S) называется леволинейной, если каждое правило из Р имеет вид 
A  Bt либо A  t, где A  VN, B  VN, t  VT.

Соглашение: предположим, что анализируемая цепочка заканчивается специальным символом  - признаком конца цепочки.
Описание слайда:
В основе лексических анализаторов лежат регулярные грамматики Соглашение: в дальнейшем, если особо не оговорено, под регулярной грамматикой будем понимать леволинейную грамматику. Напомним, что грамматика G = (VT, VN, P, S) называется леволинейной, если каждое правило из Р имеет вид A  Bt либо A  t, где A  VN, B  VN, t  VT. Соглашение: предположим, что анализируемая цепочка заканчивается специальным символом  - признаком конца цепочки.

Слайд 3





Алгоритм разбора для леволинейных грамматик (принадлежит ли цепочка a1a2...an  языку грамматики)
первый символ исходной цепочки a1a2...an заменяем нетерминалом A, для которого в грамматике есть правило вывода A  a1 ("свертка" терминала a1 к нетерминалу A)
многократно (до тех пор, пока не считаем признак конца) выполняем: 
полученный на предыдущем шаге нетерминал A и расположенный непосредственно справа от него очередной терминал ai исходной цепочки заменяем нетерминалом  B,  для  которого есть правило вывода B  Aai (i = 2, 3,.., n);
Это эквивалентно построению дерева разбора методом "снизу-вверх": на каждом шаге алгоритма строим один из уровней в дереве разбора, "поднимаясь" от листьев к корню.
Описание слайда:
Алгоритм разбора для леволинейных грамматик (принадлежит ли цепочка a1a2...an языку грамматики) первый символ исходной цепочки a1a2...an заменяем нетерминалом A, для которого в грамматике есть правило вывода A  a1 ("свертка" терминала a1 к нетерминалу A) многократно (до тех пор, пока не считаем признак конца) выполняем: полученный на предыдущем шаге нетерминал A и расположенный непосредственно справа от него очередной терминал ai исходной цепочки заменяем нетерминалом B, для которого есть правило вывода B  Aai (i = 2, 3,.., n); Это эквивалентно построению дерева разбора методом "снизу-вверх": на каждом шаге алгоритма строим один из уровней в дереве разбора, "поднимаясь" от листьев к корню.

Слайд 4





При работе алгоритма возможны следующие ситуации:
прочитана вся цепочка; на последнем шаге свертка произошла к символу S.  a1a2...an  L(G).
прочитана вся цепочка; на последнем шаге свертка произошла к символу, отличному от S.   a1a2...an  L(G).
на некотором шаге не нашлось нужной свертки, т.е. для нетерминала A и очередного терминала ai исходной цепочки не нашлось нетерминала B, для которого было бы правило вывода B  Aai.   a1a2...an  L(G).
на некотором шаге работы алгоритма оказалось, что есть более одной подходящей свертки. Это говорит о недетерминированности разбора.
Описание слайда:
При работе алгоритма возможны следующие ситуации: прочитана вся цепочка; на последнем шаге свертка произошла к символу S.  a1a2...an  L(G). прочитана вся цепочка; на последнем шаге свертка произошла к символу, отличному от S.  a1a2...an  L(G). на некотором шаге не нашлось нужной свертки, т.е. для нетерминала A и очередного терминала ai исходной цепочки не нашлось нетерминала B, для которого было бы правило вывода B  Aai.  a1a2...an  L(G). на некотором шаге работы алгоритма оказалось, что есть более одной подходящей свертки. Это говорит о недетерминированности разбора.

Слайд 5





Пример реализации алгоритма
Построим таблицу возможных сверток для грамматики
Описание слайда:
Пример реализации алгоритма Построим таблицу возможных сверток для грамматики

Слайд 6





Пример реализации алгоритма
Или диаграмму состояний
Описание слайда:
Пример реализации алгоритма Или диаграмму состояний

Слайд 7





Правила построения диаграммы
строим вершины графа, помеченные нетерминалами грамматики (для каждого нетерминала - одну вершину), и еще одну вершину, помеченную символом, отличным от нетерминальных (например, H). 
Эти вершины будем называть состояниями. 
H - начальное состояние.
соединяем эти состояния дугами по правилам:
для каждого правила грамматики вида W  t соединяем дугой состояния H и W (от H к W) и помечаем дугу символом t;
для каждого правила W  Vt соединяем дугой состояния V и W (от V к W) и помечаем дугу символом t;
Описание слайда:
Правила построения диаграммы строим вершины графа, помеченные нетерминалами грамматики (для каждого нетерминала - одну вершину), и еще одну вершину, помеченную символом, отличным от нетерминальных (например, H). Эти вершины будем называть состояниями. H - начальное состояние. соединяем эти состояния дугами по правилам: для каждого правила грамматики вида W  t соединяем дугой состояния H и W (от H к W) и помечаем дугу символом t; для каждого правила W  Vt соединяем дугой состояния V и W (от V к W) и помечаем дугу символом t;

Слайд 8





Детерминированный 
конечный автомат (КА)
Определение: конечный автомат (КА) - это пятерка (K, VT, F, H, S), где
K - конечное множество состояний;
VT - конечное множество допустимых входных символов;
F - отображение множества K  VT  K, определяющее поведение автомата; F - функция переходов;
H  K - начальное состояние;
S  K - заключительное состояние (либо конечное множество заключительных состояний).
F(A, t) = B означает, что из состояния A по  символу t автомат переходит в состояние B.
Описание слайда:
Детерминированный конечный автомат (КА) Определение: конечный автомат (КА) - это пятерка (K, VT, F, H, S), где K - конечное множество состояний; VT - конечное множество допустимых входных символов; F - отображение множества K  VT  K, определяющее поведение автомата; F - функция переходов; H  K - начальное состояние; S  K - заключительное состояние (либо конечное множество заключительных состояний). F(A, t) = B означает, что из состояния A по символу t автомат переходит в состояние B.

Слайд 9





О недетерминированном разборе
Для грамматики G = ({a,b, }, {S,A,B}, P, S), где
	P:	S  A
		A  a | Bb
		B  b | Bb
разбор будет недетерминированным (т.к. у нетерминалов A и B есть одинаковые правые части - Bb).
Такой грамматике будет соответствовать недетерминированный конечный автомат.
Описание слайда:
О недетерминированном разборе Для грамматики G = ({a,b, }, {S,A,B}, P, S), где P: S  A A  a | Bb B  b | Bb разбор будет недетерминированным (т.к. у нетерминалов A и B есть одинаковые правые части - Bb). Такой грамматике будет соответствовать недетерминированный конечный автомат.

Слайд 10





Недетерминированный 
конечный автомат (НКА)
Определение: недетерминированный конечный автомат (НКА) - это пятерка (K, VT, F, H, S), где
K - конечное множество состояний;
VT - конечное множество допустимых входных символов;
F - отображение множества K  VT в множество подмножеств K;
H  K - конечное множество начальных состояний;
S  K - конечное множество заключительных состояний.
Описание слайда:
Недетерминированный конечный автомат (НКА) Определение: недетерминированный конечный автомат (НКА) - это пятерка (K, VT, F, H, S), где K - конечное множество состояний; VT - конечное множество допустимых входных символов; F - отображение множества K  VT в множество подмножеств K; H  K - конечное множество начальных состояний; S  K - конечное множество заключительных состояний.

Слайд 11






Следующая тема:
«Построение сканера»
Описание слайда:
Следующая тема: «Построение сканера»



Похожие презентации
Mypresentation.ru
Загрузить презентацию