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

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

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

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

Е. Если же устранить из 6 правило Р а(Е), сделав подстановку вместо Е, как в лемме 2.14, то получится эквивалентная грамматика 6 с правилами Так как Е больше ие встречается слева от ), то в этой грамматике уже нет Е:). Легко проверить, что 6' — грамматика слабого предшествования. й' Небольшое обобщение этих приемов позволит преобразовагь каждую обратимую грамматику слабого предшествования в эквивалентную грамматику простого предшествования. Следовательно, по своей порождающей способности обратимые грамматики слабого предшествования не превосходят грамматики простого пред- шествования, хотя, как мы видели на примере 5.37„ среди нкх есть такие, которые не являются грамматиками простого пред- шествования. Теорема 5.19, Язык определяется обратимой грамлиипикой слабого предшествования тогда и только тогда, когда он является языком простого предшествовиния, Д о к а з а т е л ь с т в о.

Достаточность. Пусть б = (Х, г., Р, В)— грамматика простого предшествования. Очевидно, что условие (1) определения грамматики слабого преснпествования удовлетзо. ряется. Допустим, что условие (2) нарушено, т. е. в Р есть такие правила А — аХ)'(1 и  — )'5,что либо Х(В, либо Х В. Тогда по лемме 5.3 Х(У.

Но Х У из-за правила А аХ1'р. Такая ситуация невозможна, поскольку 6 — грамматика пред- шествования. Необходимость. Пусть 6=.. (М, г., Р, В) — обратимая грамматика слабого предшествования. Построим грамматику просто~о предшествования б'=-(М', м, Р', В), для которой Е(6')=Е(б). (!) Пусть )х' — это )з плюс новые символы вида [а], где це. почка а ~ е такова, что в Р есть правило вида Л вЂ” ра.

(2) Пусть Р' состоит из правил (а) [Х] — Х для каждого [Х] Е И', для которого Х Е Х () Е (б) [Ха] — Х[а] для каждого [Ха]ЕХ', для которого ХЕо(()г' и аде, (а) А — [а~ для каждого А — а из Р. Покажем, что отношения (, ° и ) для грамматики 6' попарно не пересекаются. Концевой маркер не может вызвать конфликта, поэтому рассмотрим Х и )' из г)'()г.. Заметим, что (1) если Х(1', то ХЕ 7) 1) Х; (2) если Х " г', то ХЕ)х)04. и УЕВ)' — г), так как только пункт (2б) построения грамматики 6' дает правила, у которых правая часть содержит больше одного символа; (3) если Х)у', то Х Е )х)'0 В и КЕ г..

Докажем, что пересечение каждой пары отношений пусто. Нервая пари: В)=Я. Если Х У, то у'Ер)' — 1М. Если Х.>У, то УЕХ. Ясно, что '.П) Впорая пара: (В) — 14). Допустим, то Х(у н Х)у. Тогда Х 511 0 Т и УЕг.. Так как Х(У в грамматике б', то в Р' есть правило вида [Ха,] —. Х[а1], причем [а,]=ось 1'а, для некоторой цепочки а, Е()~'() В)'. Но цепочка Ха, должна быть суффиксом некоторого правила А — а,Ха, из Р.

Тогда а,=Чьим.,' для некоторой цепочки а,'Е (М 11 В)'. Таким образом, для 6 имеем Х А У или Х ( 1'. Рассмотрим теперь Х)У для грамматики б'. В Р' должно быть такое правило [В(),] — В[(),], что В=;>в'р,Х и ф,]=хьв Щ для некоторых (), Е( в () Х)" и р, Е(йР ()л)'. В грамматике б цепочка Вй, является суффиксом некоторого правила С вЂ” уВ()г из Р. Кроме того, В~ф,Х и (),=4ьоур; для некоторой цепочки ();Е(~м04')*. Таким образом, Х)У для грамматики 6.

Мы показали, что если Х(У' и Х) У' для 6', то для б либо Х(У и Х >У, либо Х ' У и Хз)У. В любом случае получается противоречие с предположением о том, что б — грамматика слабого предшествонания. Таким образом, <' 1) ) = йу для грамматики 6'. Третья пара: <" () ° == ьо. Предположим, что Х( [У'а] и Х ' [)'сс] для некоторых ХЕМОМ и [Уа]Ег)' — г).

Тогда в Р' есть такие правила [ХАр] — Х[АЯ и  — [1'а], что [Ар]~о Ву~:",>в,[у'а]ур для некоторых уЕ(Х'112'.)* и Л, ВЕ)в. Отсюда следует, что в Р есть такие правила С вЂ” 6ХАр н  — 1'сс, что А =ой Ву' для некоторой цепочки у' Е (г) 0 л)'. Таким образом, для 6 получается Х ( В или Х ' В. (Последнее может произойти тогда и только тогда, когда В =- А.) Теперь рассмотрим Х,' [Уа]. В Р' есть правило [ХУа]— Х[1'а], и потому в Р есть правило 0 — еХУа. Следовательно, если Х ( [Уа] н Х [У'а] для грамматики 6', то в Р найдутся два правила вида  — )'а н Е7 — еХУа и для б будет Х -'В или Х В, что нарушает условие (2) определения грамматики слабого предшествования. УПРАЖНЕНИЯ (г УПРАЖНЕНИЯ 477 , 476 ГЛ.

3. ОДНОПРОХОДНЫЙ СИ)!ТАКСИЧЕСКНЙ АНАЛИЗ БЕЗ ВОЗВРАТОВ Вид правил множества Р' позволяет сразу заключить, что грамматика 6' обратима, если обратима 6. Следовательно, Е(6')— язык простого пред1пествования. Легко доказать, что Е (6') = Е (6). Мы оставляем это в качестве упражнения. ~ Следствие. Каждая обратимая грамматика слабого предигествования однозначна.

Д о к а з а т е л ь с т в о. Если бы у какой-нибудь цепочки оказалось два разных правых вывода в грамматике 6 теоремы 5.19, то можно было бы построить разные правые выводы той же цепочки в грамматике 6'. Построение, приведенное в доказательстветеоремы 5.19, больше подходит для целей теории, чем в качестве практического инструмента. На практике можно применить гораздо менее изнурительный подход. Мы дадим простой алгоритм преобразования обратимой грамматики слабого предшествования в эквивалентную грамматику простого предшествования. В качестве упражнения предлагаем доказать, что этот алгоритм работает корректно. Алгоритм 5,15. Переход от обратимого слабого предшествования к простому предшествованию, Вход. Обратимая грамматика слабого предшествования 6 = (1т), й, Р, В). Выход. Грамматика простого нредшествования 6', для которой Е(6') =1 (6). Метод. (1) Допустим, что в )т'(!г.

нашлись такие Х и У, что Х ' У и Хсе 1' для грамматики 6. Устраним из Р каждое правило вида А — аХУ() и заменим его на А — аХ[Ур], где [Ур] — новый нетермииал. (2) Для каждого символа [Ур], введенного на шаге (!), заменим правило Вида  — У|т на В [У)1] и добавим |Уй] У(). (3) 11овторим шаг (!) столько раз, сколько он окажется применимым.

Если он больше неприменим, остановимся. Результатом будет грамматика 6'. г] Пример 5.40. Пусть 6 — грамматика из примера 5.37, С помощью алгоритма 5.15 получаем грамматику 6' с правилами Е. Е+[Т]|-, [ТШТ] Т вЂ” ТеР|РР— ([Е)] | а |Т|-Т [Е)]-Е) Шаг (1) применяется к парам Х=-(, У=Е и Х=+, У=Т. Отношения предшествования для грамматики 6' приведены на рис. 5.15. Е Т и (Т] [Е)] а ! ) э * ф Рис. 6.16. Матрииа простого предшествоваяия. 5.3.1.

Какие из следующих грамматик являются грамьгатнкамн простого предшествования? (.) 6„ (б) В если Е, то Ь' иначе Ь'|а Е Е нли Ь!Ь (в) В- АВ|А А — (Ь') |() (г) В Ь'А |А (В)|() 5.3.2, Какие из грамматик упр. 5.3.1 являются грамматиками слабого предшествования? 5.3.3. Какие из грамматик упр. 5.3.1 являются грамматикамн (2,1)-предшествоваиия? 5.3.4. Приведите примеры грамматик предшествования, для которых гл. к однопгоходныя сингл ксичвскип лнллиз вез возвглтов (а) отношение ' не рефлексивно, не симметрично н не трапзитивно; (б) отношение <' не иррефлексивно и не транзитивно; (в) отношение ) не иррефлексивно и не транзитивно. "5.3.5. Покажите, что каждое регулярное множество определяется грамматикой простого предшествования.

Указание: Убедитесь в том, что Ваша грамматика обратима. *5.3.6. Покажите, что каждая обратимая грамматика (т„п)- предшествовання является 1 1?-грамматикой. "5.3.7. Покажите, что каждая грамматика слабого предшествования является 11?-грамматикой. 5.3.8.

Докажите, что алгоритм 5.12 правильно производит правый разбор. 5.3.9. Докажите, что 6 — грамматика предшествоваиия тогда и только тогда, когда она — грамматика (1,1)-предшествования. 5.3.10. Докажите лемму 5.3(1). 5.3.11. Докажите, что алгоритм 5.14 правильно производит правый разбор. 5.3.12. Постройте алгоритм правого разбора для обратимых грамматик (т, и)-предшсствоваиия. 5.3.13. Докажите следствие теоремы 5.17.

*5.3.14. Покажите, что алгоритм 5.15 строит грамматику простого предшествования, эквивалентную исходной грамматике. 5.3.15. Для тех грамматик из упр. 5.3.1, которые являются грамматиками слабого предшествования, постройте эквивалентные грамматики простого предшествования. *5.3.16. Докажите, что язык Е =-(аО" Р (п-"!) (! (ЬО" 1'"(п~ Ц не является языком простого предшествования. Указание: Подумайте о том, как вел бы себя на цепочках вида аО"1'* и ЬО"1" правый анализатор, построенный алгоритмом 5.12, если бы язык Ь определялся грамматикой простого предшествования.

*5.3.17. Постройте грамматику (2,1)-предшествования для языка из упр. 5.3,16. э5.3.18. Постройте грамматику простого предшествования для языка (О"а!" ) и ~ 1) () (ОчЫ'" ~ и Ъ 1). "5.3.19. Покажите, что каждую КС-грамматику без е-правил можно преобразовать в эквивалентную грамматику (1,1)-пред- шествования. 5.3.20. Для КС-грамматики 6=(Ь(, л, Р, Я) определим отношения 7, р, и р: 476 Упглжиения (1) ?1?.Х, если в Р есть правило А Хя, где я — какая-нибудь цепочка; (2) Х)1)', если в Р есть правило А- яХу5 для некоторых я и !3 кроме того 5)л5 и Ь!л5. (3) ХРА, если в Р есть правило А яХ, где я — какая-нибудь цепочка. Покажите, что эти отношения и отношения предшествовання Вирта — Вебера связаны следующим образом: (а) - !л? ", (б) =' 0 ((5, 5), (8, 3) ) — !л, (в) >=-р"!л)*П((~ОХ)кХ) ( (- обозначает трапзитивное, а л — рефлексивное н транзитивное замыкание).

*"5.3.21. Докажите неразрешимость проблемы; является ли данная грамматика грамматикой расширенного предшествования (т. е. грамматикой (т, и)-предшествовання для некоторых т и и)? "5.3.22. Докажите, что если 6 — грамматика слабого предшествования, то 6 — грамматика расширенного предшествовання (для некоторых т и п). 5.3. 23.

Покажите, что а Е РО1.1ОЪ; (А) тогда и только тогда, когда А < ° а, А а илн А >а. 5.3.24. Обобщите лемму 5.3 на грамматики расширенного предшествования. 5.3.25. Предположим, что условия расширенного предшествования ослаблены так, что допускается конфликт я.сти и я ш, если ои порождается только пунктамп (1б) и (2б). Разработайте алгоритм разбора типа „перенос — свертка" для грамматик, удовлетворяющих этому ослабленному определению.

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

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

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

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