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

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

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

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

Например, 5=О,ммм а, 0011, й (1352544) — 12 и 5=>„О 001! Грамматика 6, не лево- и не правопокрывает 6,, Так как обе грамматики однозначные, то соответствие между разборами фе ксировано. Поэтому гомоморфизм д, доказыва|ощий, что б, лево' покрывает б„должен отображать 1 "2 в (143)'24(5)"+|, а эта как легко показать, невозможно. Можно показать, что многие из конструкций разд. 2.4, пре' образующих грамматики к нормальным формам, дают грамма' тики, лево. или правопокрывающие исходные грамматики.

310 РПР ЛЖИ Е НИЯ Пример 3.28, Ключевой шаг при построении нормальной формы Хомского (алгоритм 2.12) состоят в замене правила А Х,... Х„(п) 2) правилами А — Х,В„В,Х,  — Х„,Х„, Можно показать, что в результате получа с гра 1л тя а левопокрь|ва|ощая исходную: достаточно Отобразить правило А — Х,В| в А — Х,, Х„, а каждое из правил В, Х,вэ  —, — Х„,Х„в пустую цепочку. Если мь| хотим получить пРавое покРытие, то А Х,...

Х„можно заме ть на А- В1Х„, В| В Х„„..., „— Х Х г) Другие РезУльтаты о покрытии оставляем в качестве у ражнений. УПРАЖНЕНИЯ ' 3.4,1. Дайте алгоритм построении дерева вывода по левому вли правому разбору. 3,4.2. Пусть б — КС-грамматика. Покажите, что 7 о — детерми- нированнын КС-язык.

3.4 3. Всегда ли 7,Π— детерминированный КС-языку *3.4.4. Постройте детерминированный МП-преобразователь Р, для которого т(Р)=((и, и')!ПЕ(,1О и и' — правый разбор для того же дерева вывода). +3.4.3. М Можете ли Вы построить такой детерминированный МП-преобразователь Р, что т(Р) — ((и, и')!ПЕ~О и и' — соот- ветствующий левый разбор). 3.4.6. Постройте левые и правые разборы в грамматике 6 для пепочек е (а) ((а)), (б) а-(- (а+ а), (в) а э а я а. 3.4.7.

4 7. Пусть КС-грамматика б определяется следующими за- нумерованными правилал|и: (!) 5 — ИВ 1)|еп5е(эе5 (2) 5 — е (3) в в р, в (4)  — В 'ч' В (5) в-ь Пост Ой Ро"те СУ-схемы, определяющие Т~г и То. ЗА.8, Пос остройте МП-преобразователи, определяющие 77 и Те грамматики 6 из упр. 3.4.7. З|1 Гл. а. ТеОРия переводА РПРАЖНРНИЯ 3.4.9. Докажите теорему 3.10. 3;4.!О. Докажите теорему 3.11.

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

"3.4.! 4. Постройте детерминированные правые анализаторы для грамматик (а) (1) 5 — 50 (2) 5 — 51 (3) 5- е (б) (1) 5 — АВ (2) А — ОА1 (3) А — е В В1 (5) В- е а3.4.15. Постройте детерминированные левые анализаторы для грамматик (а) (1) 5 05 (2) 5- 15 (3) 5 е (1) 5 051 (2) 5 — А (3) А — А1 (4) А е *3.4.19. Какие из грамматик в упр.

3.4.14 имеют детерминированные левые анализаторы? Какие в упр. 3.4.15 имеют детерминированные правые анализаторы? "3,4.17, Дайте детальное доказательство того, что грамматика из примера 3.25 (3.27) право- (лево-)анализируема, но не лево- (право-)анализируема. 3.4.13. Дополните доказательство теоремы 3.14. 3.4.19. Дополните доказательство леммы 3.15. 3.4.20. Дополните доказательство теоремы 3.15.

3!2 Определение. Левым участком правила с непустой правой частью назовем самый левый символ (термицал или нетерминал) его правой части. Анализом (или ризбором) цепочки ло левому участку называется последовательность правил, соответствующих внутреннвм вершинам дерева разбора этой цепочки, п котором все вершины упорядочены следующим образом. Если верпзина л имеет р прямых потомков п„л,„..., л, то все вершины поддерева с корнем л, предшествуют л. Вершийа л предшествует всем другим ее потомкам.

Потомки вершнны л, предшествуют потомкам вершины л„которые в свою очередь предшествуют потомкам вершины л, и т. д. Грубо говоря, при анализе по левому участку левый участок правила распознается снизу вверх, а остальная часть правила †свер вниз. Пример 3.30. На рис. 3.11 показано дерево разбора цепочки 66ааа6, |юрождеиной грамматикой с правилами (1) 5 А5 (2) 5 ВВ (3) А- ЬАА (4) А а (5) В Ь (5)  — е Упорядочение вершин, о котором идет речь в определении анализа по левому участку, таково, что вершина л, и ее по- о езеа Очам Оеам Оаа!а фаЗ (3)аза фпзз ! Оааы ®азв Рис.

3.1!. Дерево разбора. томки предшествуют вершине л„за которой следуют л, и ее потомки. Вершина л, предшествует вершине л„за которой следуют л„л„и их потомки. Вершнна п, предшествует вершине л,„ за котоРой слеДУют льи п„н их потомки. ПРоДолжаЯ в том же духе, получаем упорядочение вершин ПАП зле П з П з з Паз П за Пз зП з з П зП з ПА з П з ПАП А А П з 3!3 ГЛ. 3. ТЕОРИЯ ПЕРЕНОДА ЗАМЕЧАНИЯ ПО ЛИТЕРАТУРЕ Разбором по левому участку является последовательность правил, соответствующих внутренним вершинам в этом упорядоченни.

Таким образом, разбором цепочки ЬЬаааЬ по левому участку будет последовательность 334441625. 11 Другой метод определения разбора по левому участку для цепочки, порождаемой грамматикой 6, заключается в использовании следующей простой СУ-схемы, ассоциируемой с 6. Определение. Пусть 6=(Ь(, 2', Р, В) — КС-грамматика, в которой правила занумерованы От 1 до р. Пусть Т$ — простая СУ- схема (Х, у, (1,..., р), ??, В), где для каждого правила из Р в множество 1? включается правило, определяемое так: если 1-е правило из Р имеет ввд А — Ва или А — аа, вли А — е, то В содержит правило вида А — Все, В(а'.Илн А — аа, (сх', или А — е, ! соответственно, где а' получается 'из и удалением всех терминальных символов. Тогда если (ю, я) 6т(ТД, то и — разбор по левому участку цепочки те.

Пример 3.3!. Для грамматики из предыдущего примера схема Тг', такова:  — АЗ, А!В В ВВ, В2В А- ЬАА, ЗАА А- а 4  — Ь, 5  — е, 6 Можно убедиться, что (ЬЬаааЬ, 334441625) 6т(Т~О). 3.4.2!. Докажите, что (ю, п)6т(ТУ) тогда и только тогда, когда зт — разбор по левому участку цепочки те, 3.4.22. Покажите, что для каждой КС-грамматики существует (недетерминированный) МП-преобразователь, отображающий цепочки языка, порождаемого этой грамматикой, в их разборы по левому участку. 3.4.23. Разработайте алгоритмы, отображающие разборы по левому участку в (1) соответствующие левые разборы, (2) соответствующие правые разборы, и обратно.

3.4.24. Покажите, что если 6, лево- (право-)покрывает 6, и 6, лево- (право-)покрывает б„то бх лево- (право-)покрывает б,. 3.4.26. Пусть 6„— грамматика без циклов, Покажите, что б, лево- н правопокрывается грамматвками, пе содержащими цепных правил. 3.4.26. Покажите, что каждая грамматика без циклов левон правопокрывается грамматиками в нормальной форме Конского. «3.4.27. Покажите, что не каждая КС-грамматика покрывается грамматикой, не содержащей е-правнл. 314 3.4.26.

Покажите, что алгоритм 2.9, устраняющий бесполезные символы, дает грамматику, лево- н правопокрывающую исходную. **3.4.29. Покажите, что не каждая приведенная грамматика лево- или правопокрывается грамматикой в нормальной форме Грейбах. Указаниет Рассмотрите грамматику  — ВО~ В!~0)1. "*3.4.30. Покажите, что утверждение из упр. ЗА.29 остается верным, если в определении покрытая заменить гомоморфизм конечным преобразованием. «3.4.31. Останется ли верным утверждение из упр 3 4.29, если заменить гомоморфизм МП-преобразованием, Проблема для исследования 3.4.32.

Было бы хорошо, если бы всегда, когда 6, левоили правопокрывает б„каждая СУ-схема с б, в качестве входной грамматики была эквивалентна некоторой СУ-схеме, входной грамматикой которой служит 6,. К сожалению, это не так. Можете ли Вы найти условия, связывающие 6, и б„при которых СУ- схемы с входной грамматикой 6, образуют подмножество СУ- схем с входной грамматикой 6,? Замечания по литературе Дополнительные подробности, кзсзхзщнеся грамматического покрытия, можно нзйтн в роботах Рейнольдсз н Хзскелн !19701, Грэя [19691 н Грэя и Хзррнсоиа !19691. В некоторых рзнннх статьях эпзлнз по левому учзстку нззывэлся восходящим знзлнзом. Более полное изложение метода знвлизв по левому участку содержится в монографии Чнтэма !1967!.

316 3!7 ОБЩИЕ МЕТОДЫ СИНТАКСИЧЕСКОГО АНАЛИЗА Эта глава посвящена алгоритмам синтаксического анализа, применимым ко всему классу контекстно-сободных языков. Не все эти алгоритмы можно применять к любым КС-грамматикам, ио каждый КС-язык имеет хоти бы одну грамматику, к которой все аии применимы. Вначале мы обсудим алгоритмы с полным возвратом. Эти алгоритмы детерминированно моделируют недетерминировапные анализаторы, Емкость памяти, которую 'требуют эти возвратные методы, линейно зависит от длины анализируемой цепочки, но время может выражаться экспонентой.

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

Можно почти не сомневаться в том, что фактически для всех языков программирования существуют легко анализируемые грамматики, к которым эти алгоритмы применимы. Методы данной главы могут оказаться полезными в таких приложениях, когда исходные грамматики не обладают теми специальными свойствами, которых требуют алгоритмы, рассматриваемые в гл. 5 н 6. Например, если требуются неоднозначные еь синтхксичвскип анализ с возвгхтхми грамматики и интерес представляют все разборы цепочки, как это бывает при работе с естественными языками, можно обра- титься к некоторым методам данной главы. 4.1. СИНТАКСИЧЕСКИЙ АНАЛИЗ С ВОЗВРАТАМИ Предположим, что у нас есть недетерминированный МП- преобразователь Р и входная цепочка ш.

Допустим, что все последовательности тактов, которые может сделать Р для входной цепочки ш, ограничены по длине. Тогда общее число различных последовательностей тактов МП-преобразователя Р тоже конечно, хотя, нозможна, и экспоненциально зависит от длины цепочки ш. Грубый, зато прямой способ детерминированного моделирования МП-преобразователя Р состоит в том, чтобы каким-то образом линейно упорядочить последовательности тактов и затем в предпнсанном порядке промоделировать каждую последовательность. Если нас интересуют все выходные цепочки для данной входной цепочки ш, то мы должны промоделировать все последовательности тактов.

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

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

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

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