Главная » Все файлы » Просмотр файлов из архивов » Файлы формата DJVU » Карпов - Основы построения трансляторов (2005)

Карпов - Основы построения трансляторов (2005), страница 11

DJVU-файл Карпов - Основы построения трансляторов (2005), страница 11 Основы построения трансляторов (76): Книга - 5 семестрКарпов - Основы построения трансляторов (2005): Основы построения трансляторов - DJVU, страница 11 (76) - СтудИзба2013-09-12СтудИзба

Описание файла

DJVU-файл из архива "Карпов - Основы построения трансляторов (2005)", который расположен в категории "". Всё это находится в предмете "основы построения трансляторов" из 5 семестр, которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "основы построения трансляторов" в общих файлах.

Просмотр DJVU-файла онлайн

Распознанный текст из DJVU-файла, 11 - страница

Таким образом, любой язык тип а 1 может быть представлен недетерминированным линейно-ограниченным автоматом. 2.6.3. Автоматы с магазинной памятью Распознавателем КС-языков является класс автоматов с магазинной памятью (их называют также МП-автоматами). Мы рассмотрим МП-автоматы — распознаватели. МП-автоматы играют важную роль в теории языков — именно эти устройства и их модификации используются в большинстве практически работающих трансляторов для синтаксического анализа программ.

МП-автомат — это конечный автомат, снабженный дополнительным стеком (магазином) для хранения промежуточной информации потенциально бесконечного объема (рис. 2.17). МП-автомат имеет конечное множество внутренних состояний 5 с начальным состоянием лО и подмножеством Е заключительных состояний„конечный алфавит входных сигналов Х и конечный ал- фавит магазина Г' с маркером 1, который обозначает дно стека. Функция переходов о по каждой тройке <~пекуи~ее внул~реннее сосиояние, очередной входной сигнси, верхпий символ магазина- определяет на очередном шаге функционирования следующее состояние и цепочку символов магазинной памяти, записываемых в магазин вместо прочитанного верхнего символа (условимся, что цепочка записывается в стек "хвостом вперед", т.

е. сначала в стек записывается последний символ цепочки„затем предпоследний и т. д.). МП-автомат распознает входную цепочку, если после ее завершения на входе автомат перейдет в одно из заключительных состояний и его магазин будет пустым. Рис. 2.17. Структура МП-автомата ПРИМЕР 2.20.

МП-автомат М=(«5~, «(, )~, «А~, ю, 1. о, ®) рис. 2.18 только с одним состоянием распознает язык правильных скобочных выражений. Вначале стек пуст — в нем находится заключительный маркер 1. По каждой встретившейся на входе открывающей скобке ( автомат добавляет в магазин символ А (который отмечает, что соответствующая закрывающая скобка впоследствии должна встретиться во входной цепочке). Каждая встретившаяся на входе закрывающая скобка приводит к выбрасыванию символа А из магазина. Когда все символы и во входной строке, и в стеке исчерпываются, автомат остается в заключительном состоянии ю. Легко видеть, что любое нарушение структуры входной цепочки — несбалансированность скобок — не может привести к ситуации, когда при пустой входной строке стек автомата останется пустым.

Языки и грамматики Рис. 2.18. МП-автомат, распознающий язык правильных скобочных выражений МП-автомат является недетерминированным, если его функция переходов неоднозначна и/или в нем имеются в-переходы. Недетерминированный МП- автомат распознает входную цепочку, если существует последовательность шагов его работы, приводящая его из начального в одно из заключительных состояний после прочтения всей входной цепочки и пустом магазине. Оказывается, что класс КС-языков совпадает с классом языков, распознаваемых недетерминированными МП-автоматами. Детерминированные МП-автоматы могут распознать лишь более узкий класс КС-языков„который все же более широк, чем класс автоматных языков. В частности, как мы видели, не- автоматный язык правильных скобочных выражений распознается простейшим детерминированным МП-автоматом (рис. 2.18). Покажем, что по каждой КС-грамматике б = (7, Х, Я.

Н) можно построить (не- детерминированный) МП-автомат Л4;, распознающий язык, порождаемый 6. Множество состояний М<; составляют три состояния: начальное юо, рабочее 1 и заключительное су. Множество входных сигналов искомого МП-автомата— это множество терминальных символов грамматики 6. Алфавит магазина Г составляют все нетерминальные символы б и для каждого терминального символа ае 7 грамматики б в него входит символ а', т. е. Г = М ~ 7'. Взаимно- однозначную функцию 7" — +7, сопоставляющую каждому ае 7 элемент а'~:-7, ооозначим ~ Расширим определение функции,~ на множество У не- терминалов грамматики б, определяя ее на этом множестве как тождественную функцию.

Далее будем считать, что эта функция на цепочках символов из 7иХ определяется покомпонентно. Функция переходов о искомого МП-автомата строится так: Ч 5(~о. г., 1) ==(з,.Ю) // в верхушке магазина помещаем начальный нетерми- нал грамматики Й; Ч (~7а~ 7): б(з, а. Яа)) = (ь, а) // если в верхушке магазина — символика), соответствующий очередному входному терминалу а, то автомат переходит к следующему входному символу, выбрасывая из магазина верхний символ; Ч (~АеГ)(~7А — +схем): о(к, е, А) =- (л,Яа)),/ если в верхушке магазина стоит нетерминал, то МП-автомат, не читая очередного входного символа, заме- Глава 2 няет его в магазине одной из альтернатив этого нетерминала из множества продукций грамматики 6; О о(ю, е, 1~) = (О, ~ ) 0 если в магазине больше нет символов„то переходим в заключительное состояние. Легко видеть, что при удачном выборе последовательности выполнения ко- манд построенный так МП-автомат (недетерминированно) моделирует про- цесс левостороннего порождения входной цепочки, если она является цепоч- кой языка, порождаемого грамматикой О.

ПРИМЕР 2.21. Построим МП-автомат М~д, распознающий язык правильных скобочных выражений, формально по двусмысленной грамматике б~. 5-+ — +55 ~ ® ~ я, порождающей этот язык. Множество состояний М~;5 содержит начальное состояние ьо, рабочее состояние ь и заключительное состояние д. Множество его входных сигналов— множество терминалов грамматики 6~. Магазинный алфавит включает символ Я (единственный нетерминал грамматики) и пару символов, (' и )', соответствующих терминалам грамматики: М65 ФО ъ Ч1 1( )1 Р ( ) 1 ЮО -~- б ®).

Функция переходов МП-автомата определится так: б(ьр, е, 1) =(л, К1); 0 в магазин записываем начальный нетерминал грамматики; автомат переходит в состояние ь-, // если терминал входной цепочки и верхушка магазина совпадают, выбрасываем символ из магазина и переходим к следующему входному символу; Алгоритм распознавания языка очень непросто построить по такому неде- терминированному автомату. Обратно, оказывается, что по каждому (недетерминированному) МП-рас- познавателю можно построить КС-грамматику, порождающую распознавае- мый этим автоматом язык. Это доказывается более сложно; доказательство можно найти, например, в [Г701.

Ял, ), )') =(, ~); о(ь, я, 5) = (ь, Я Я; о(.~, ~, Я = (,, (' ~ )'); ~(,5', ~, Я=(Л, Е); Й~' ~ -~) =(ч -~-)' 0 в соответствии с продукцией грамматики; д при пустом магазине входная цепочка распознана, если она кончилась. Языки и грамматики Итак. МП-автомат может быть использован для представления любого языка типа 2. Очевидно также, что по любому МП-автомату может быть построена машина Тьюринга, моделирующая его функционирование. 2.6.4. Конечные автоматы Пусть имеется (недетерминированный) конечный автомат Л = (Л; Х, ло, о, Г).

Построим грамматику б,~ =(Х. Л', .~о, А~), порождающую язык, распознаваемый автоматом А. Множество продукций грамматики строится по функции переходов автомата А и множеству Е заключительных состояний. Для любого перехода о (~, а) =р автомата включим в А.~ продукцию л — +ар, и для каждого ~~еГ включим в Л,~ продукцию д-+г. Очевидно, что грамматика С'А автоматная, она порождает язык, который распознается автоматом А. Действительно, каждому выводу в 6~ соответствует путь в Л из начального в одно из заключительных состояний, и обратно — каждому такому пути соответствует вывод цепочки в бл.

Обратное тоже верно: для любой автоматной грамматики. порождающей язык Л, суще твует конечный автомат, допускающий Л, который может быть построен непосредственно по продукциям грамматики. Особенностью конечных автоматов является то, что по любому недетерминированному конечному автомату легко строится эквивалентный ему детерминированный конечный автомат. Поэтому построенный по автоматной грамматике 6 недетерминированный конечный автомат может быть преобразован в детерминированный конечный автомат, который осуществляет распознавание цепочек языка, порождаемого 6. В этой роли он может быть использован как основа транслятора автоматного языка, заданного грамматикой 6.

Этот вопрос рассматривается в главе 5. Таким образом, между автоматными порождающими грамматиками Хомского и конечными автоматами существует тесная связь, а именно для любой автоматнои грамматики, порождающеи язык Х, существует детерминирован" ный конечный автомат, распознающий Е, и наоборот. Из-за такой связи язы- Глава 2 лентными с точки зрения порождающих возможностей. Кроме этих двух форм в этом разделе мы рассмотрим и некоторые другие формализмы задания языков, не эквивалентные грамматикам Хомского. 2.7Л. Нотация Бэкуса — Наура Очевидно, что для формального задания грамматик формальных языков также необходим язык.

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