Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпаргалка по теории автоматов (ТА).doc
Скачиваний:
204
Добавлен:
11.04.2014
Размер:
864.77 Кб
Скачать

Вопрос 36. Регулярные выражения. Синтаксические диаграммы. Теорема Клини.

Для определения регулярных множеств определим сначала 3 базовые операции на этих множествах. Пусть и– множества цепочек. Операция объединения.

Операция конкатенации. . Например,,,К тому же, определим:,.

Операция «Итерация». . Например,,.

Регулярные множества над конечным словарем определяются так:

1) – регулярное множество. 2)– регулярное множество. 3)– регулярное множество. 4) Если S и T – регулярные множества, то– регулярные множества. 5) Если множество не может быть построено по правилам 1–4, то это множество нерегулярное.

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

РВ задает шаблон получения цепочек РМ. Как и синтаксические диаграммы, РВ являются способом задания порождающей грамматики языка. Операции в РВ имеют приоритет (по убыванию): ,,. Два РВ Р1 и Р2 называются эквивалентными тогда и только тогда, когда эквивалентны задаваемые ими РМ.

Для преобразования РВ используют соотношения-тождества, которые для них справедливы.

1. R + S = S + R 2. R + R = R 3. (R + S) + T = R + (S + T) 4. Ø + R = R 5. R • ε = ε • R = R 6. (R • S) • T = R • (S • T) 7. Ø • R = R • Ø = Ø 8. R • S ≠ S • R 9. R • (S + T) = R • S + R • T 10. (S + T) • R = S • R + T • R 11. R* = ε + R + R2 + R3 + … + RkR* 12. R • R* = R* • R 13. R+ = R + R2 + R3 + … 14. R+ + ε = R* 15. R* • R+ = R • R*

Синтаксические диаграммы

-это направленные графы с одним входным и одним выходным ребром, и помеченными вершинами

Вершины помечаются символами определенного алфавита. С помощью синтаксической диаграммы можно задавать автоматные языки:

- цепочка пометок на пути по графу от входа до выхода есть допустимая цепочка языка.

Синтаксическая диаграмма – одна из форм порождающей грамматики автоматных языков. СД тесно связаны с КА. По любой СД можно построить КА и наоборот.

В общем случае СД соответствует НКА. Допустимые цепочки {aab,abcb,aacaab,abccabb, ….} Для получения А отмечаем состояния на выходе каждой вершины, а также в начале и в конце диаграммы.

Теорема: классы РМ и А языков совпадают.

Для доказательства необходимо доказать: 1. для любых КА можно получить соответствующее ему РВ 2. наоборот – по любому РВ можно получить соответствующий ему КА

Для получения КА рассмотрим граф переходов – это обобщение графа КА. Граф переходов - одна начальная и несколько конечных вершин, направленные рёбра графа помечены не символами, а регулярными выражениями. Граф переходов с одной начальной и одной конечной вершиной с одним ребром от начальной до конечной вершины, помеченной РВ R, допускает автоматный язык R^ (R – РВ, R^ - автоматный язык).

Вопрос 37. Применение рв. Различные нотации рв.

Применение регулярный выражений:

  1. построение лексических анализаторов

  2. обработка текста (поиск образцов и проверка)

  1. Лексический анализатор предназначен для преобразования текста в набор лексем (минимизации структурных единиц языка). Они могут использоваться как сами по себе, так и как входной поток синтаксического анализа в составе транслятора языка.

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

Регулярные выражения являются самыми компактными и распространёнными.

Они хорошо распознаются сами по себе. Можно строить автомат по заданным регулярным выражениям.