Главная » Просмотр файлов » Теория синтаксического анализа, перевода и компиляции - Том 1

Теория синтаксического анализа, перевода и компиляции - Том 1 (943928), страница 31

Файл №943928 Теория синтаксического анализа, перевода и компиляции - Том 1 (Теория синтаксического анализа, перевода и компиляции) 31 страницаТеория синтаксического анализа, перевода и компиляции - Том 1 (943928) страница 312013-09-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 31)

Приведем алгоритм, описывающий процесс минимизации числа состояний конечного автомата. А л г о р и т м 2.2. П о с т р о е н и е к а н о н и ч е с к о г о к о п е чного автомата. Вход. Конечный автомат М = (!с, Х, 6, д„г). Выход. Эквивалентный приведенный кайечиый автомат М'. !АТ Гл. а. элементы теОРии яэыкОВ Тевлина 2.В [А] [В] [С[ [А] [В[ [С] [В] [С] [А] Рас.

2.7. Дваграмма автомата М. 151 150 Метод. Шаг 1: Применив к диаграмме автомата М алгоритм 0.3, найти состояния, недостижимые из цв. Устранить все недости- жимые состояния. Шаг 2: Строить отношения эквивалентности ==', = — ', ..., как описано в лемме 2.11, да тех пор, пока два из них не совпадут: ==а" ===а. Взять в качестве = =отношение .==". Шаг 3: Построить конечный автомат М' = (]Е', г., 6', д„', Р'), где (а) ]]' †множест классов эквивалентности отношения (обозначим через [р1 класс эквивалентности отношения = †-, со- держащий состояние р), (6) 6' ((р), а) = ) а1, если 6 (р, а) = д, (в) аа' — это (да), (г? р'=((уийр).

П Можно непосредственно показать, что шаг 3(б) непротиворе- чие, т. е. какой элемент класса (р] ни взять, для 6((р1, а) бу- дет один н тот же класс. Доказательство равенства Е (М) --Е (М') тоже просто и оставляется в качестве упражнения. Докажем теперь, что автомат с меньшим числом состояний, чем у М', не может допускать Е(М). Теорема 2.6. Автомат М', который строится алгоригпмом 2.2, имеет наименыиее число состояний среди всех конечных ав- томатов, даггуекающих язык Е (М). Доказательство.

Предположим, чта М" имеет меныпе состояний, чем М', и что Е(Л[") =Е(М). В силу шага 1 алго- ритма 2.2 каждое состояние автомата М' достижимо. Так как М" имеет меньше состояний, то найдутся цепочки гв и х, переводящие состояние д,' в разные состояния, а д", (начальное состояние автомата М")---в одно и то же: (да, гв) ]- -'м„(Ч, е) и (и, х) ) — м. (а, е). Следовательно, гв и х переводят автомат М в раз- а.а. сВОйстВА Регмлямных мнОжестВ личимые состояния, скажем р и г.

Зто значит, что существует такая цепочка у, что точно одна из цепочек юу и ху принадлежит Е(М). На юу и ху должны переводить М" в одно и та же состояние з, для которого (у,у) с-м. (З,е). Таким образом,.точно одна из цепочек гву и ху нс может принадлежать Е(М"), а это противоречит предположению а том, что Е(М") в Е(М). Пример 2.16. Найдем приведенный конечный автомат, эквивалентный автомату М, диаграмма которого показана на рис, 2.7. Отношения ==" для й -0 имеют следующие классы эквивалентности: Классы отношения =--'. (А,Г), (В,С,В,Е) Классы отношения ==-': (А, г'), (В, Е), (С, О) Классы отношения ='-: (А, г"), (В, Е), (С, е]) Так как ='==, то = — ===-', Приведенным автоматом М'будет автомат (((А], (В[, [С)), (а,у), 6', А, ([АЦ), где функция 6' определяется табл.

2.3. Здесь мы выбрали (А) для представления класса (А,Р), [В) — для представления (В, Е) и (С) — для (С О). И 2.3.2. Лемма о разрастании для регулярных множеств Теперь мы хотим получить характеристику регулярных множеств, которая будет полезна для доказательства того, что некоторые языки не явля1отся регулярными.

Следующую теорему назовем леммой о „разрастании", потому что ана в сущности говорит о том, что если даны регулярное множество и достаточно длинная цепочка в нем, то в этой цепочке можно найти непустую надцепочку, которую можно повторить сколько угодна раз (т. е, она „,разрастается"), и все полученные таким образом „новые" цепочки будут принадлежать тому же регулярному множеству. С помощью этой леммы часто приводят к противоречию предположение о том, чта некоторое множество регулярно. ГЛ. 2. ЭЛЕМЕНТЫ ТЕОРИИ ЯЗЫКОВ Теорема 2.7, Лемма о разрастании для регулярных множеств.

Пусть  — регулярное множество. Существует такая константа р, что если юб(. и )т)> р, то цепочку 2е можно записать в виде хуг„где 0 <1у((р и ху'гЕВ для всех 2> О. Доказательство. Пусть М=(1е,а,б,д„Р) — конечный автомат с п состояниями и Е (М) = 1.. Пусть р = п. Если ю Е Ь и (ю~ ~ п, рассмотрим последовательность конфигураций, которую проходит автомат М, допуская цепочку ик Так как в этой последовательности по крайней мере и+ 1 конфигураций, то среди первых пл-1 конфигураций найдутся две с одинаковыми состояниями.

Поэтому должна быть такая последовательность тактов, что (уь|Хуг) ) — * (О„уг) ) — 2 (О„г) ( — ' (О„Е) для некоторого д, и 0<й~п. Отсюда 0((у((п. Но тогда для любого 1> 0 автомат может проделать последовательность тактов Хугг) Г л (у угг) (ч у '.г) 1 — + (ро уг) )-' (оо г) ) — ' (д„е) Так как цепочка 2о= хуг принадлежит Ь, то и ху'г6 Е для всех 1>1. Случай 1=0 исследуется аналогично. () Пример 2.16. С помощью леммы о разрастании докажем, что язык Ь = (О" 1" ~ п =. 1) не является регулярным множеством.

Допустим, что Е регулярен. Тогда для достаточно большого и цепочку 0"1' можно записать в виде хуг, причем у~е и ху'гЕТ, для всех 1>0. Если уЕО~ или у~1+, то хг=-ху'ЕТАЯ. Если у Е 0+ 1 ~, то хууг( 1.. Полученное противоречие доказывает, что язык Т. Ие может быть регулярным. () 2.3З. Свойстве замкнутости регулярных множеств Множество А называется замкнутым относительно и-местной операции 9, если 0(а„а„.. „а,)ЕА всегда, когда а;6А для всех 1 ( 2'е- п.

Например, множество целых чисел замкнуто , относительно операции сложения. 2,3. СВОЙСТВА РЕГУЛЯРНЫХ МНОЖЕСТВ В этом разделе мы рассмотрим несколько операций, относительно которых класс регулярных множеств замкнут. С помощью этих свойств замкнутости можно будет определить, регулярны ли некоторые языки. Мы уже знаем, что если Е, и 1.„— регулярные множества, то множества 1,,(11,„1.,62 и 1.; тоже регулярны. Определение. Класс множеств называется булевой алгеброй множеств, если он замкнут относительно объединения, пересечения н дополнения. Теорема 2.6. Для любого алфавита г. класс регулярных множеств, содержащихся в Х', является булевой алгеброй множеств.

До к а з а тел ь ст в о. Докажем замкнутость относительно дополнения, Замкнутость относительно объединения мы уже имеем, а замкнутость относительно пересечения будет следовать из теоретико-множественного закона А () В= А (1 В (упр.

0.1А). Пусть М = ((е, Ь, 6, д„Р) — конечный автомат, у которого Ь ~ Т.. Легко показать, что каждое регулярное множество Ь =Х" допускается некоторым таким автоматом. Тогда конечный автомат М' = (О, Ь, 6, д„(с — г") допускает Ь* — й (М). Заметим, что здесь использован тот факт, что автомат М полностью определен. Далее, дополнение ~(М) относительно 2* можно представить в виде В (М) =Ь (М ') О г" (2 — Ь) а*.

Так как множество 2* (Š— Ь) Х* регулярно, то регулярность множества (. (М) следует нз замкнутости регулярных множеств относительно объединения, С) Теорема 2.9. Класс регулярных множеств замкнут относительно обращения. Доказательство. Пусть М=((), л', 6, о„Р) — конечный автомат, определяющий регулярное множество Ь. Чтобы определить ЬЯ, „запустим М в обратном направлении". Иными словами, возьмем недетерминированный конечный автомат М'= ((г О (д'.), Е, 6', ц;, г'), где Р'=(д,), если е((., и г'=(д„д',), если ебЬ, Функцию 6' определим так: (1) 6'(дь', а) содержит д, если 6(д, а) Ер. (2) 6' (д', а) для всех д' Е (г и а Е л содержит у, если 6 (д, а) =-,у'.

Легко показать, что (д„ю)-) — м (о, е) для о ~г тогда и только тогда, когда (у,', 2ея) ( — м, (у„е). таким образом, ь (м') (Ь (М))" 1,Я. Класс регулярных множеств замкнут относительно самых распространенных операций над языками. Многие из этих свойств замкнутости изучаются в упражнениях. ГЛ. Е. ЭЛЕМЕНТЫ ТЕОРИЙ ЯЗЫКОВ ЗЛ СВОЙСТВА РЕГУЛЯРНЫХ МНОЖЕСТВ 2.3.4.

Рвзрвшммые проблемы, связанные с регулярными множествами Мы изложили несколько способов опнсания регулярных множеств, таких, как регулярные выражения и конечные автоматы. В связи с этими способами представления языков естественно возникают алгоритмические проблемы. Мы коснемся здесь трех проблем: Проблема принадлежности:,Даны определенного типа описание языка и цепочка ш; принадлежит лн Ги этому языку?" Проблема пустота:,Дано определенного типа Описание языка; пуст лн этот языку" Проблел4и эквивалентности:,Даны два Описания одинакового типа; определяют ли они один и тот же язык?" Мы рассмотрим следующие типы описанйй регулярных множеств: (1) регулярные выражения, (2) праволииейные грамматики, (3) конечные автоматы. Сначала дадим алгоритмы, решающие три упомянутые выше проблемы в том случае, когда языки описываются с помощью конечных автоматов. Алгоритм 2.3. Решение проблемы принадлежностин для конечных автоматов, Вход.

Конечный автомат М = Я, Х, 6, д„Р) и цепочка ю ЕЕ*. Выход.,ДА", если юЕТ, (М); „НЕТ", если ю!ГТ'. (М), Метод. Пусть и=и,а, ... а,. Найти последовательно состояния д, — 6 (у„, и,), дР = 6 (ц„иг),..., д„= 6 (д„„а„). Если у, Е Р, сказать,ДА"; если у„(Р, сказать „НЕТ". П Корректность алгоритма 2.3 слишком очевидна, чтобы ее обсуждать. Однако стоит обсудить временную н емкостную сложности этога алгоритма.

Характеристики

Тип файла
DJVU-файл
Размер
4,65 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6556
Авторов
на СтудИзбе
299
Средний доход
с одного платного файла
Обучение Подробнее