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

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

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

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

теОРия пгРЕВОЛА 3.4. СИНТАКСИЧНСКИИ АНАЛИЗ Вообще правый разбор цепочки ш в грамматике б=()ч, 2, Р,б) это последовательность правил, с помощью которых можно евер. путь цепочку ш к начальному символу Е. В терминах деревьев выводов правый анализ цепочки ш представляет собой последа. вательность отсечений основ, сводящую дерево вывода с кро. ной ш к одной вершине, помеченной 5. В сущности это равно. сильно процессу „заполнения" дерева вывода, начииающемусв с одной только кроны и идущему от листьев к корню. Позтолт) с процессом порождения правого разбора часто ассоцинруетсв термин „восходящий" анализ. По аналогии с СУ-схемой Т„отображающей цепочки из Е (б) в их левые разборы, можно определить СУ-схему Т,„отобрг. жающую цепочки в правые разборы. В ней из элементов перевода устранены терглиналы, а номера правил выводов пишутся справа. Доказательство того, что эта СУ-схема кор.

ректно определяет нужный перевод, оставляем в качествв упражнения. Что касается восходящего анализа, то иас прежде всего интересует МП-преобразователь, реализующий схему Т„. По аналогии с расширснным МП-автоматом определим расширенный МП-преобразователь. Определение. Расширенным МП-преобразователем назовев восьмерку Р=(«г', Х, Г, б, б, О„Е«, Р), где все символы паин. маются так же, как прежде, по только б теперь обозначает отображение конечного подмножества множества «г х (Х () (е)) к Г* в множество конечных подмножеств множества «гхГ" г4г3«. Кон. фигурации определяются так же, как прежде, по обычно подразумевается, что верх магазина расположен справа, и запись (д, аш, ()я, х) )- (р, ш, ру, ху) означает, что 6(о, а, я) содержит (р у у).

Расширенный МП-преобразователь Р называется детермини. роганным, если (1) 4Ь 6(т), а, я) ~ 1 для всех оЕ«г, а ЕХ П(е) и яЕГ', (2) цепочки я и (3 не являются суффиксами одна другой, если б(д, а, я) ~ 8 и 6(о, Ь, р) э« 8 для 6=а или Ь=г. Определение. Пусть б = (1«, Х, Р, Е) — КС-грамматика. Обо. значим через Мо расширенный недетсрминированный МП-пре. образователь ((д), Х, ХНА(! (6), (1, ..., р), б, о, $, 8), прнчеи верх магазина расположен справа и б определяется так: (1) 6(о, е, я) содержит (о, А, 1), если А — я — правило из Р С НОМЕРОМ 4', (2) 6(о, а, е) =((о, а, е)) для всех аЕХ, (3) б (д, е, $5) = ((д, е, е)).

302 -пр МП п«еобразователь содержит элементы алгоритма раз бо а, называем емого алгоритмом типа перенос — свертка. На такте, ующем правилу (2), М, переносит входной символ Всякий раз, когда наверху магазина появляется тветствующ . магазин. но М„может свеРнУть ее по пРавилУ (1) и выдать номеР и авила, и использованного при свертке.

Затем М, может продолжать пе переносить в магазин входные сгтмволы, пока в его части не появится новая основа. Эта основа свертыверхней част вается, а и , а на выход выдается номер соответствующего правила. М йствует так до тех пор, пока в магазине пе останется М„де ств только н ЫЮ~ЬН~~ СИМВОЛ С МЗРКЕ„„ „, м вилу ( (3) М может перейти тогда в конфигурацию с пустым магазином. Теорема 3.12. Пусть б =- (Х, Х, Р, 5) — КС-граммаптика.

Тогда т,(М,) =((ш и )(с=> ш) Д о к а з а т е л ь с т в о. Доказательство аналогично доказательству леммы 2.25; оставляем его в качестве упражнения. Пример 3.26. Правым анализатором для грамматики б, будет Мо«((у) Х )л(ц«'11(Ц (1 2 6) б (т ~ 8) 6 (д, е, Е + Т) = ((41, Е, 1) ) б (д, е, Т) =. ((д, Е, 2)) б (0, е, Т «Р) =- ((д, Т, 3)) б (д, е, Р) =- ((у, Т, 4)) 6 (д, е, (Е)) « — - ((д, Р, 5)) 6 (о, е, а) =((о, Р, б)) 6(д, Ь, е) =((д, Ь, е)) для всех Ь 6Х 6(о, е, 6Е) =-((4), е, е)) Для входной цепочки а+а«а анализатор Мо«лтожет среди других сделать такую последовательность тактов: (о, а-';а «а, $, е) (- (о, +а «а, 3а, е) (†(д, -(- а а, $Р, 6) )- («г, +а«а, $Т, 64) (- (д, +а«а, $Е, 642) (- (~у, а «а, 6Е + «642) )- (тт, «а, $Е+а, 642) )- (о, «а„6Е+Р, 6426) ( — (о, «а, $Е+ Т, 64264) 303 ГЛ.

3. ТЕОРИЯ ПЕРЕВОДА зл. синтлксическин Анллиз )- (д, а, $Е+Т», 64264) )- (д, е, $Е-(-Т«а, 64264) )- (Ч, е, 5Е-1- Т» Р, 642646) 1 — (д, е, $Е+Т, 6426463) )- (д, е, 5Е, 64264631) )- (д, е, е, 6426463!) Таким образом, для входной цепочки а+а»а анализатор Мо, выдает правый разбор 64264631. Г) В гл. 4 мы рассмотрим детерминированное моделирование недетерминированного правого анализатора. В равд. 5.2 обсу. дим важный подкласс КС-грамматнк, называемых Ы-грамма., тиками (вход читается слева (1сй) направо и выдается правый ~ (г|кП!) разбор), для которых соответствующий МП-преобразова. ~ тель можно сделать детерминированным, позволив ему заглядывать па входе на несколько символов вперед, 1.Й-грамма.

тики — это те, которые анализируются снизу вверх (по дереву вывода от кроны к корню) естественным образом и притом детерминнрованно. Как и в случае левого разбора, существуют грамматики, для которых возможен детерминированный, но яе естественный правый анализ; их мы обсудим в следующем разделе. 3.4.4. Сравнение нисходящего разбора с восходящим Если рассматривать недетермвнираванные анализаторы, то сравнивать по существу нечего, так как по теоремам 3.11 и 3.12 для каждой КС-грамматики возможен как левый, так и правый анализ.

Однако, если поставить важный вопрос о тои, существуют ли для данной грамматики детерминированные анализаторы, то тут дело обстоит не так просто. Определение. Назовем КС-грамматику б левоанализируемой, если существует такой ДМП-преобразователь Р, что т(Р) ==-((х$, и) )(х, и) Е Т~ и правоанализируемой, если существует такой ДМП-преобразо. ватель Р, что т (Р) = ((х$, и) ! (х, и) Е То) В обоих случаях ДМП-преобразователю разрешается использовать концевой маркер для указания правого конца входной цепочки.

Заметим, что все КС-грамматики лево- и правоанализируемм в неформальном смысле, но в данном формальном определении отражен именно детерминизм. ЗО4 1ы обнаружим, что классы лево- и правоанализирусмых грамматик равнимы, т. е. ни один из них не является подмножеством д „другого, Зто удивительно с точки зрения равд. 8.1, где показано, что 1(-грамматики, которые можно детерминиробудет ванно ° а„но левоаналнзировать естественным образом, образуют подмно ство (.К-грамматик, которые можно детерминярованно воанализировать естественным образом. Приведем примеры амматик, лево- (право-) анализируемых, но не право- (лево-) анализируемых. пример 3.26. Пусть грамматика 6, определена правилами (! )  — ВАЬ (2)  — САс (3) А — ВА (4) А — а (5)  — а (6) С вЂ” а Ь(6,) =аа+Ь+аа'с. Можно показать, что 6, не является ни нп 1В-грамматикой, потому что до тех пор, пока мы не увидим последний символ цепочки, не известно, каким нетерминалом В или С порождается первый символ а.

Однако можно «неестественно» получить левый разбор произвольной входной цепочки с помощью ДМП-преобразователя. Рассмотрим в качестве входной цепочки а"+»Ь (и~О). Тогда ДМП- преобразователь может сделать левый разбор 15(35)"4, помещая в магазнн все символы а до тех пор, пока он не увидит Ь. Прн этом ва выходе ничего не порождается. Когда Ь появится, ДМП-преобразователь может выдать 15 (35) "4, подсчитав и с помощью занесенных в магазин символов а. Подобным же образом для входа а""с можно получить 26(35)"4 на выходе. В любом случае вся хитрость в том, чтобы отложить порождение выхода до того, как появится Ь или е Теперь попытаемся убедить читателя, что не существует ДМП- преобразователя, способного порождать правильные правые разборы для всех входных цепочек. Допустим, что ДМП-преобразователь М порождаст правые разборы 55"43" 1 для цепочки а" +»Ь " 55"43"2 для цепочки а""с.

Докажем неформальпо, что такой преобразователь невозможен. Зто доказательство существенно опиРается на результаты работы Гинзбурга и Грейбах 119661, где показано, что (а"Ь»1п ' 1) и (а»Ь» )и~1) не является детерми"яроваиным КС-языком. Знакомство с э1ой работой поможет при пост остроснии формального доказательства. Можно доказать следующие утверждения: либо ег (1) Пусть а' поступает на вход преобразователя М.

Тогда о его выход пуст, либо он выдает 5 или 6, н преобразователь М лвв т аож"о «обмануть», подав на вход с илн Ь соответственно и сдетем самым его выход ошибочным. 30» ГЛ. ». ТЕОРИЯ ПЕРЕВОДА зл. сиитАксический АиАлвз 307 (2) По мере того как символы а поступают на вход М, ояя должны так или иначе запасаться в магазине.

Точнее, можно показать, что найдУтсЯ такие числа 1 и й, магазинные цепочки а и )$ и состояние д, что (у„а»'~Р, 2„е)Г-» (д, г, р»гх, г)') для всех Р~~О, где д» и 2,— начальные состояние и магазинный сим. вол преобразователя М. (3) Если после и + )р символов а на входе М появляется одпя символ Ь, то М не может выдать 4 до тех пор, пока не сотрет магазинную ленту вплоть до а. В противном случае мы могли бм «обмануть» М, предварительно поместив на вход дополнительные ) символов а, в то время как М будет выдавать то же количество чисел 5, которое он выдавал раньше, так что оба выхода правильными быть пе могут.

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

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

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

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