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

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

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

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

221 ГЛ. 2. ЭЛЕМЕНТЫ ТЕОРИИ ЯЗЫКОВ Так как и, имеет 12"+2 выделенных потомков, то путь и;, ...,пр содержит по крайней мере 2т+3 ветвящихся вершин. Кроме того, пр — лист, и потомУ он ее ЯвлЯетсЯ ветвЯЩейсЯ веРшиной. Следовательно, р > 2т+3. Пусть Ь„Ь„..., Ь, „,— это последние 2т+3 вершины, принадлежащие пути и„, ..., пр.

Назовем Ь, левой ветвящейся верн>иной, если прямой потомок вершины Ьг, не принадлежащий этомУ пУти, имеет выДеленного потомка слева от пр. В пРотивном случае будем называть Ь, правой ветвящейся вершиной. Предположим, что по крайней мере т+2 вершины из Ь„..., Ь,„„левыс ветвящиеся. Случай, когда по крайней мере т+ 2 вершины правые ветвящиеся, исследуется аналогично. Ряс, 237. Дерева вывода Т, Пусть 1,, 1„..., 1„+,— последние т+2 левые ветвящиеся вершины последовательности Ь„., „Ь, ~2.

Так как 4ЬХ =пг, то среди 1„..., 1„„, можно нанти две вершины, скажем 1> и 1, с одной и той же меткой, скажем А, и 1< д. Эта ситуация изображена на рис. 2. !7. Двойной линией показан путьпм ..., и, звездочки указывают выделенные листья (кроме этих могут быть н другие). Если удалить всех потомков вершины 1, то получится дерево вывода с кроной иАу, где и состоит из листьев, расположенных слева От 1, а у — из листьев, расположенных справа. Таким образом, 1~" иАу. Если мы рассмотрим поддерево с корнем 1>, из которого удалены потомки вершины 1, то увидим, что А =>" оЛх, где о и х — части кроны этого йоддерева, состоящие из листьев, расположенных соответственно слева и справа от1 . Наконец, пусть и> — крона поддерева с корнем 1.

Тогда А =р го и, значит, з = иоюху. 222 2.а. Овойствх НОнтекстнО.своеОдных языкОе Объединяя эти выводы, получаем Я=Ь+ иАу=>е игоу н для всех г) 1 5 =>~ иАу =э+ иоАху =э+ ио Лх у =>+... ~+ ио Ах у =э+ носи>хгу Таким образом, условие (4) выполнено. Кроме того, цепочка и имеет хотя бы одну выделенную позицию, которую занимает потомок некоторого прямого потомка вершины 1„.

Аналогично цепочка о имеет хотя бы одну выделеш|ую позицию, которую занимает потомок вершины 1>. Следовательно, условие (2) тоже выполнено. Условие (!) выполняется потому, что цепочка и> имеет выделенную позицию, а именно ту, которую занимает и . Чтобы проверить выполнение условия (3), состоящего в том, что цепочка оп>х имеет не более й выделенных позиций, заметим, что цепочка Ь„будучи (2т+ 3)-й ветвящейся вершиной от конца пути и„..., и, имеет не более й выделенных позиций. Так как 1 — потомок вершины Ь„отсюда иееосредственно следует нужный результат, Надо было бы рассмотреть еще противоположный случай, когда по крайней мере т+2 вершин из Ь„..., Ь... правые ветвящиеся.

Однако здесь можно рассуждать по симметрии, и в итоге мы обнаружим, что условие (2) выполняется, так как каждая из цепочек х и у имеет выделенные позиции. Докажем важное следствие леммы Огдеиа, которое иногда называют леммой о разрастании для КС-языков.

Следствие. Пусть 1. — КС-язых. Тогда существует такая константа й, что если )2! ==А и 2ЕЕ, то 2 можно представить в виде з=.-иогоху, где охФе, ! огох)-=)г и ноги>хгуЕ7. для всех г" -О. Доказательство. В теореме 2,24 взять какую-нибудь КС-грамматику для языка 7. и считать все позиции во всех цепочках выделенными. Г1 Именно этим следствием из теоремы 2,24 мы будем чаще всего пользоваться при доказательстве того, что некоторые языки не контекстно-свободны. Самой теоремой 2.24 мы воспользуемся, когда в разд, 2.6.5 речь пойдет о существенной неоднозначности КС-языков.

Пример 2.38. С помощью леммы о разрастании покажем, что язык 1 — (а" !и' э Ц не является КС-языком. Если бы он был КС-языком, то нашлось бы такое число й, что если >>2 р:/г, то а" =иоиху, где цепочки о и х пе могут быть обе пустыми и (гтох!=-я. Пусть, в частности, п=)г. Так как и')й, то по предположению иоьихгу Е!.. Но так как ! стех )-" й, то ! е ! ох ( .я и ЬТ ( ио'гохеу ! < яь+ Й. Заметим, что следующий после я2 квадрат целого числа — число ()г+ !)2=у'+2й+ !. Так как гл. е.

элвмв нты твавии языков Й'+Й < Йь+2Й+1, то ) иочвх'у) не равно квадрату целого числа. Но по лемме о разрастании ис'вх"у Е Ь; получили противоречие. П Пример 2.39. Покажем, чта язык Ь=- (а"Ь"с" )и) 1) — не КС-язык. Если бы он был КС-языком, то мы взяли бы константу Й, которая определяется в лемме о разрастании. Пусть г=-аьЬьс".

Тогда г= — иьтсху. Так как (иох)<Й, то в цепочке твх не могут быть вхождения каждого из символов а, Ь и с. Таким образом, цепочка иву, которая по лемме о разрастании принадлежит Ь, содержит либо Й символов а, либо Й символов с. Но она не может иметь Й вхождений каждого нз символов а, Ь и с, потому что ) иву) < ЗЙ. Значит, вхождений какого-то из этих символов в иву больше, чем другого, и, следователыю, иву ~Ь. Полученное противоречие позволяет заключить, что Ь вЂ” не КС- язык.

Ц 2.6.2. Свойства замкнутости класса ИС-языков Свойства замкнутости часто помогают доказать, что некоторые языки не контекстно-свободны; кроме того, оии интересны и с теоретической точки зрения. В этом разделе мы приведем несколько основных свойств замкнутости класса КС-языков. Определение. Пусть .У вЂ” класс языков и язык Ь~Х* принадлежит .У. Допустим, что Х = — (а„..., а„) н языки 1.,„..., Ь, принадлежат,к'. Класс Я замкнут относительно псдстансвнц если для любого набора языков Ь, Ь,„..., Ь„ Ь'=(х, ... х )ай ...

а;„бЬ, х,ЕЬ,..., х„ЕЬ,, 'м' принадлежит .2'. Пример 2 40. Пусть Ь вЂ” — (О"1" )и"' 1), Ь,=(а) иЬ,=(Ь"с") т)1). Тогда результатом подстановки языков Ь, и Ь, в язык Ь будет язык Ь'=(аьЬ"'*с Ььчс'"~...Ь'"ьс» ~п '1, т,. » !) Е) Теорема 2.25., Класс КС-язынсв замкнут относительно подстановки. Д о к а з а т е л ь с т в о. Пусть Ь ы Х" — КС-язык и Х = (а;, ..., а„). Пусть Ь,ы Х„' — КС-язык для каждого аЕХ и Ь' — результат подстановки языков Ь, вместо а в цепочки языка Ь.

Пусть 6 = (51, Х, Р, 5) — КС-грамматика языка Ь и 6,=(Х„Х„Р„а')— 224 З А, Ахо, Дж. Улним, ъ ! 225 г в свояствл контекстно своьодных языка КС-грамматика языка Ь,. Предполагаем, что 14 и все Х, попар"а не пересекаются, Возьмем 6'=(51', Х', Р', 5), где (1) 51'=-0 Х,()51; ьез (2)Х=0Х,; ье Х (3) пусть Й вЂ” гомомарфизм, определенный на Я() Х н такой, что Й(А) =А для всех А ЕЬ( и Й(а) =а' для а ЕХ; положим Р'=(А — ~Й(а) ~А — ~а ЕР) 11 ! ! Р„.

ьчх Итак, Р' состоит из правил всех грамматик 6, и правил гРамматики 6, в которых все терминалы сделаны нетерминалами са штрихами. Пусть а ...ау Е Ь н х, Е Ь, для 1 <1< Й. Тогда М /4 ~ ьГ 5 =>с. а1,... а~„->с, х, а',... а~„->с,... ->в, х„... х„. Следовательно, Ь' ы Ь (6'). Допустим, что шЕЬ(6'), и рассмотрим дерево вывода Т це- почки ш.

Так как Х и 51, не пересекаются, каждый лист с мет- кой, отличной от е, имеет по крайней мере одного предка, по- меченного а', где а Е Х, Если удалить из Т каждую вершину, у которой есть предок, отличный от нее' и помеченный а' для аЕХ, та получим дерево вывода Т' с кроной а~,...а';„, где а1 ... а;„бЬ. Если х,— крона поддерева дерева Т, над которыми до- мйннрует ~'-й лист, дерева Т', то ш=х,...х„и х, ЕЬ, . Таким 'м' образом, Ь (6') = Ь' (6). Е~ Следствие, Класс КС-языков замкнут относительно (1) объеди- нения, (2) конкатенации, (3) итерации, (4) позитивной итерации и (5) гсмоморфизма.

До к а з а т е л ь с т в о. Пусть Ь, и Ьь — КС-языки, (Ц Подставим Ь, вместо а н Ь„вместо Ь в КС-язык (а, Ь1. (2) Подставим Ь, вместо а и Ьь вместо Ь в (а Ь). (3) Подставим Ь, вместо а в а', (4) Подставим Ь, вместо а в а+, (5) Для гомоморфизма Й возьмем Ь,=(Й(а)) и, подставив 5, вместо а в Ь, получим Й(Ь). П Теорема 2.25. Класс КС-яаков замкнут относительно пере- сечения с регулярными множествами. Доказательства. Нетрудно показать, что МП-автомат Р и параллельно работающий конечный автомат А можно моде- лировать подходящим МП-автоматом Р'.

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

Теорема 2.27. Класс КС-языков не заикнут относипгельно пересечения и догголнения. Доказательство. Ег=-(а"Ь"с'!тг~ 1, 1- 1) и Ег= (а Ь"б" ~ г) 1, и~~1) — КС языки. Однако Е, 1! Е, = (а"Ь "с" ~ и) ! )— не КС-язык (см, пример 2.39). Таким образом, класс КС-языков не замкнут относительно перссечения. Отсюда можно также заключить, что класс КС-языков не замкнут относительно дополнения. В самом деле, в силу закона де Моргана любой класс языков, замкнутый относителыю объединения н дополнения, должен быть замкнут относительно пересечения.

Но по следствию из теоремы 2.25 класс КС.языков замкнут относительно объединения. П Существует много операций, относительно которых замкнут класс КС-языков. Некоторые из ннх приведены в упражнениях. В заключение этого раздела дадим несколько примеров применения свойств замкнутости к доказательству того, что некоторые множсства не являются КС-языками. Пример 2.41. Е=(вв!вЕ (а, Ь)".) ие КС-язык, Допустим, что это ие так.

Тогда по теореме 2.26 язык Е'. Е!)а Ь а+Ь+ = (а"Ь"аеЬ"!т, и !) контекстно-свободен. Но в упр. 2.8,3(д) утверждается, что Е* не КС-язык. Пример 2.42. Š— -(вв(в~(с, 1)") не КС-язык. Пусть Ь— такой гомоморфизм, чтой(с)=а и Ь(!) =Ь, Тогда Ь(Е).-=(вв) вЕ (а, Ь)+) не КС-язык (см. предыдущий пример). Так как класс КС-языков замкнут относительно гомоморфнзмов (следствие из теоремы 2.25), то Е не КС-язык. Пример 2.43. Алгол не является КС-языком.

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

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

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

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