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

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

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

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

ложеиная в верхушке магазина. Если выполняется свертка, то новая управляющая таблица определяется после исследования таблицы, содержавшейся в магазине под свертываемой основой. Вполне ьюжно считат!ь что сами таблицы являются частями программы, а управление программой в свою очередь представ. ляет собой управляющую таблицу. Типичным примером может служить программа, написанная на неиотороь! легко интерпретируемом языке, так что различие между множествиы !аб.гиц, управляющих программой разбора, и самой интерпретируемой програмчой несущественно.

Пусть б — (.К(0)-грамматика и (ж, Т,) — множество СК(0)- таблиц для б. По множеству таблип построим для б апализи. рущий автомат, который имитирует поведение СК(0)-злгоритк!а разбора для б, работающего с множеством таблиц й . Отметим, что соли Т= <7, д> — СК(0)-таблица из ж', то 7(г)— зто перенос, свертка или допуск Поэтому можно назывегж таблипы таблицами переноса или свертки в зависимости от значе- !!7 ГЛ ; НСТОДЬГ ОПГННИЭАЦИН СННТСНСИЧЕСКИХ АНАЛИЗЛТОРОЗ ния функции действия. Вначале для каждой таблицы есть одна программа. Эти программы интерпретируются как ссстолния анализирующего автомата для С.

В оюглалниа пгргиосп Т =-<Д й> выполняются такие действия: (1) Имя состояния Т помещается в магазин. (2) Следующий входной символ, скажем а, удаляется из входной ггспочки, н упразляющвс, устройство переходит в состояние «(и). В рассмотренных ранее вариантах ЕЕ-аггалггза входной силгвол и также помещалси в магазин вслед за таблицей Т. Но, как уже отмечалось, нет иеобкодимости вспоминать в магазине символы гралглгатики, поэтому вплоть до конца раздела никакие сииволы грамматики помещать в магазин мы не будем. В состоянии свертки происходит следующее: (!) Пусть А а — правило г, по которому нужно свернуть. Верхние )и) — 1 символов удаляютси (выталкиваются) из магазина '). (Если а= в, то в верхушке магазина находится управляющее состояние.) (2) Определяется ими состояния, находящегося теперь в вор.

хушне магазина. Пусть зто состояние Т (Д й)л Управляющее устройство переходит в состояние д(А), и выдается номер правила 1. Особо отметялг случай, когда действие „свертка" на самом деле означает допуск. В этом случае весь процесс заканчивается и автомат переходит в (допускающее) заключительное состояние. Легко показать, что алгоритм с определениымн так состояниями работает с магазином в точности так же, как ЕЕ(й)-апализатор (не считая того, что здесь мы не записываем в магазин символы грамматики), если отождествить имена состояний с имеиамн таблид, из которых состояния получаются. Единственное исключение состоит в том, что ЕЕ(й)-алгоритм разбора помещает з верхушку магазина имя управляющей таблицы, а здесь иня этой таблипы не записывается в магазин, поскольку оио является именем таблицы, с которой работает устройство управления программой.

Определим теперь анализирующий автомет, непосредственно вьпюлняющий эти действия. Для каждого состояния (т. е. таблицы) в смысле, Определенном выше, существует состояние автомата. Входиылги символами для такого автомата служат терми- ') ми убираем иэ илглзиил !а! — 1, А «е )а! символов натану, чта таб лица, саатлетстаующгя саману лрлзаиу симлалу цепачки а, илхадитси л уп рлаляющеи устрабстзе, а ие била памсщаил з магазин. ив Т З. ЛНЛЛИЗИРГЮП1ИЗ АЗТОМЯТЫ палы грамматики и сами имена состояний.

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

Тел! пе менее можно уменьшить число состояний анализирующего автомата, применяя алгоритм, аналогичный алгоритму 2 2. Отличие в этом случае состою в том, что мы должны быть уверены, что, если два состояния попадают в один и тот же класс эквивалентности, все их последующие побочные эффекты совпадут. Дадим теперь формальное определение анализирующего автомата. Определение. Пусть 0 =-(р(, Х, Р, 5) — ЕЕ(0)-грамматика и (л, Т,) — ее множество Е)7(0)-таблиц. Определим не полностью ооределенный аатолгат й(, называемый ксноничвсхнм анплнзирую- Щим автоматом, как пЯтеРкУ (и, Х()щ" 0 (2), 6, Тю (Т,)), где (!) щ — множество состояний, (2) Х 0,2' — множество возможных входных символов (символы из Х находятси на входной ленте, а символы изщ' — в магазине, по- этому еп — не только множество состояний, ио и подмножество входов анализирующего автомата), (3) 6 — ОтобРзжеиие множества ю х(Х(!ю ) в щ, опРеделае- мое так: (а) если Т Е АР†состоян переноса, то 6(Т, и) ПОТО(Т,Н) для всех ОЕХ, / (б) если Т Е Ф вЂ” состояние свертки, вызывающее свертку по правилу А а, и Т' ЕООТО '(Т, а) (т.

е. ТЕ ПОТО(Т', а)), то 6(Т, Т)=ПОТО(Т', А), (в) в остальных случаях 6(Т, Х) не определено. 1(аноничсскнй анализир)ющий автомат является конечным преобразователем с побочными эффектами, связанными с магази. ном. Его поведение можно описать в терминах конфигуриций, предстввляющих собой четверки вида (а, Т, ш, п), где (1) а — содержимое магазина (верхний символ расположен справа), (2) Т вЂ” управляюпгес. состояние, т!9 ГЛ Т МЕТОДЫ ОПТИЧНЗАЦИИ СИНТАКСИЧЕСКИХ АНАЛИЗАТОРОВ !.3.

АНАЛИЗ!!РУЮЩИЕ АВТОМАТЫ (3) ы — непросмотренная часть входной цепочки, (4) и — порожденная к этому моменту выходная цепочка. Шаги автомата можно изобразить с помопсыо отношения 1 —, заданного на множестве конфигураций. Если Т вЂ” состояние пе- реноса и 6(Т, а) = Т', будем писать (а, Т,аю, и)) — (аТ, Т',и!, и). Если Т вызывает свертку по правклу А 7 с номером 1 н 6(Т, Т')=Т", то пишем (ат'6, Т, ы, и)( — (ОТ', Т", ы, п!) для всех б длины (7) — !.

Если (у)=-0, то (а, Т, м, п)1-.(аТ, Т, гэ, и!). В этом случае Т и Т' совпадают. Заметим, что если считать, что в верху!Ике магазина может находиться символ управляющего состояния, то получатся конфигурации обычного Ей-алгоритма разбора. Отношения ) — ', )-' и 1 — ' определяются обычным образом. Вачальная конфигурация — это ионфигурация вида (с, Т„ы, е), а допускающая конфигурация имеет вид (Т„Т„е, и). Если е, Т„ы, е) 1 — и (Т„Т„е, и), то и называется разбором, лорожииым аэтомашом зЧ для цепочки Вк Пример 7.32. Рассмотрим Е)с(0)-грамматику В с правилами (1) 8 аА (2) В аВ (3) А ЬА (4) А с (5) В ЬВ (б) В б порожлающую регулярное множество ЕЬ'(с+а).

На рнс. 7.46 представлено множество из десяти 1)((0)-таблиц дли В. Т„Т, и Т, — состояния переноса. Таким образом, у нас но- лучился анализирукэций автоыат с правилами переноса Ь (т„л) =т, 6(Т„Ь) =Тз Ь (т„с) =- т, 6 (Т„д) = Т, 6(тм Ь)=т, ь(тм с) =т. 6(ТР б) =-Т, Найдем правила перехода для состояний свертки Т„Т,. т„ То Т, и Т,. Таблица Т, вызывает свертку по правилу 5 аА. Так как ООТО '(Т„аА)=(Т,) и 0070(Т„Б)=-Т„то единственным правилом длв Т, будет 6 (Т„Т,)=Т!.

Таблица Т, вызывает свертку по правилу В д. Тан как ПОТО '(Т,, д) = = (Т„Т,), 0070(ТН В)=Т, н ООТО(Т„В)=Т„то правилами для Т, будут 6(Т„Т„)= —.Т, и 6(Т„Т,) =-Т,. Л(ебсмдге Тааессд и Л А В а Ь г! г, т, тз гэ Рис. 7.46. Миажсстес !.Д(О)-тзблиц. Полностью правила свертки таковы: 6(ТР Тс) =Т! 6(то т,)=т, 6(Т,, Т,).=.Т, 6(Т„Т,)=.Т, 6(Т Т)=Т 6(тс Т)=.ТР 6(ТР Т,)=Т, 6(Т„Т„)=-Тз Граф переходов анализирующего автомата изображен на рис. 7.47.

Если на вход канонического автомата подать цепочку аьс, то он пройдет последовательность конфигураций (е, Т„аЬс, е) ( — (Т„Т„Ьс, с) )-(Т,ТН Т„с, е) ) — (Т,ТЗТ„Т„Р, с) ) — (Т,Т,Т„Т„, с, 4) ) — (Т,Т„Т„З, 43) ) — (Ти ТЗ, е, 431) тж 7.Л. АНАЛИЗИРУЮШИЕ АВТОМАТЫ Т, Те вавив жа бнамон сомоонннн Вороно Гв. Т.

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

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

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

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