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

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

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

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

Пусть 6=(Ы, Ез Р, Б) — КС-грамматика. По 6 можно построить такой Расширенный МП-автомат )т, что ~Ж)=~(6) ). Работу автомата )т „разумно" рассматривать как процесс отсечения основ. Доказательство. Пусть Р=-((д, г), Е, М()Е()(6), 6, Ч~ 3, (г)) — расширенный МП-автомат' ), в котором 6 опредеЯрш бр 'ЗЛ 225 2И 2.2~, евка конструкция. ") По нашему соглашению верх его магазине расположен справа.

207 ГЛ. 2. ЭЛПМВНТЫ ТВОРИИ ЯЗЫКов 2,2, АВТОМАТЫ С МАГАЗИННОЙ ПАМЯТЬЮ (1) 6(гу, а, е)=((гу, аЦ для всех абХ, (На этих тактах входные символы переносятся в магазин.) (2) Если А — я принадлежит Р, то 6(гу, е, я) содержит (гу, А). (3) 6(гу, е, 53) =((г, еЦ. Покажем, что процесс вычисления в автомате ус заключается в построении правовыводимых цепочек грамматики 6, начиная с терминальной цепочки (на входе уг) и кончая цепочкой 5. Иидукцией по и докажем, что (2.5.3) о =Ос яАу.=>згху влечет (гу, ху, $) 1 — е(гу, у, $яА) Базис, и=О, тривиален: Уу не делает ни одного такта.

Предположим, что (2.5.3) верно для всех значений параметра, меньших и. Можно написать яАу~,а()у=>",-гху. Допустим, что цепочка я() состоит только из терминалов. Тогда яр = х и (гу, ху, $)) — *(гу, у, Ея))))-(гу, у, $яА). Если я)) чХ*, то можно писать яр= уВз, где  — самый правый нетерминал. По (2.5,3) из В =р',уВау =р," 'ху следует (гу, ху,5))-е (гу, зу, $)гВ). Кроме того, (гу, «у, ЗуВ) 'г — * (гу, у, 5ТВ2) )в (гу, у, 5яА) — тоже возможная последовательность тактов.

Мы заключаем, что (2.5.3) верно для всех и. Так как (гу, е, $3) 1 — (г, е, е), то Е(6) с:-Е(Ус). Для того чтобы доказать обратное включение Е (УС) ~Е (6) и, следовательно, равенство 1.(6) =1 (Ус), докажем, что (2.5.4) (гу, ху, $)) — "(гу, у, $яА) влечет яАу=реху Базис, и =- О, выполняется автоматически. Для проверки шага индукции предположим, что (2.5.4) верно для всех и<т. Если верхний символ магазина автомата уг иетерминальный, то последний такт был сделан по правилу (2) определения функции 6. Поэтому можно писать (гу, ху, 6)) — м г(гу, у, $я())) — (гу, у, $яА) где А — 6 принадлежит Р, Если цепочка я() содержит нетерминал, то по предположению индукции и()утеху.

Отсюда яАуо я()утеху, что и утверждалось. В качестве частного случая утверждения (2.5.4) получаем, что (гу, и, $)) — е(гу, е, 55) влечет З.=~ьцг. Так как Ус допускает и только тогда, когда (гу, цг, 6)) — "(гу, е, 55)) — (г, е, е), то Отсюда следует, что 1. (ус) ы 1. (6). Таким образом, Е (уу) =-Е (6).г) Заметим, что сразу после свертки правовыводимая цепочка вида яАх представлена в 11 так, что яА находится в магазине, а х занимает непрочитанную часть входной ленты.

После этого уу может продолжать переносить символы цепочки х в магазин до тех пор, пока в его верхней части не образуется основа. Тогда Уу может сделать следующую свертку. Синтаксический анализ этого типа называют »восходящим анализом" (,„анализом снизу вверх") или „анализом сверткой". Пример 2.36. Построим восходящий анализатор ') УУ для грамматики 6,. Пусть Уг — расширенный МП-автомат ((гу, гу, Х, Г, 6, гу, $, (г)), где 6 определяется так: (1) 6(гу, Ь,е) =4(гу, ЬЦ для всех ЬЕ(аг +, «, (,Ц; (2) 6(гу, е, Е+Т) =~(гу, ЕЦ 6(у, е, Т) =((у, ЕЦ 6(гу, е, Т«Р) =((гу, ТЦ 6(гу, е, Р) = (гу, ТЦ 6(гу, е, (Е)) = (гу, РЦ 6(гу, е, а) = (гу, РЦ; (3) 6(гу, е, 6Е) = (г, еЦ. Для входа а+а»а распознаватель ус может сделать следующую последовательность тактов: (гу, а+а«а, $))-(гу, +а«а, Ва) ) — (гу, +а»а, $Р) ) — (гу, + а «а, йТ) ) — (гу, +а«а, $Е) )-(гу, а»а, 5Е+) ) — (гу, «а, $Е+а) (гу, » а, 6Е+ Р) ) — гу, »а, $Е+Т) ) — (гу, а, $Е+Т») ) — (гу, е, 5Е+Т»а) 1 — (гу, е, $Е+Т «Р) ) — (гу, е, $Е +Т) )-(гу, е, 6Е) )-(», е, е) Заметим, что для входа а+а«а распознаватель Ус может сделать много различных последовательностей тактов.

Однако выписанная последовательность — единственная, которая переводит начальную конфигурацию и заключительную. () Покажем теперь, что язык, определяемый МП-автоматом, контекстно-свободен. Лемма 2.26. Пусть Ус — (4), Х, Г, 6, гу„7„Р) — МП-автомат, Можно ггостроить такую КС-ераммат1гку 6, что Е(6) =Е,(Ус). ') Автомат, который строится в етом примере (зтзкжеи в еримерез.З4),— зто епге не анализатор, з только распознаватель, но его легко превратить в анализатор (см. гл. 4 и о).— Прим.

перез. ГЛ. 2. ЭЛЕМЕНТЫ ТЕОРИИ ЯЗЫКОВ Ьб. АВТОМАТЫ С МАГАЗИННОЙ ПАМЯТЬЮ Д о к а з а т е л ь с т в о. Построим 6 так, чтобы левый вывод цепочки ш в грамматике 6 прямо соответствовал последовательности тактов, которую делает 1с при обработке цепочки ш. Нетерминальныс символы будут иметь вид [ОХЕ], где 4, гЕ1Е' и 2~Г. Потом мы покажем, что [д2г]=О и тогда и только тогда, когда (1), и1, 2) 1 — ' (г, е, е). Формально пусть 6 — --(11; Х, Р, 5), где (1) )А( — ([42г]1 су, г ЕЮ, 76Г) 0(3); (2) правила множества Р строятся так: (а) если 6(д, а, Х) содержит (г, Х,...ХА)') (й:=: 1), добавим к Р все правила вида [с)7зк] — а [гХ,в,][в, Х,з,]... [зА,Х„з„] ДЛЯ КажДОй ПОСЛЕДОВатЕЛЬНОСтИ З„вм ..., ЗА СОСТОЯ- ний из 1е, (б) если 6(4, а, 2) содержит (г, е), добавим к Р правило [ОХг] — а, (в) добавим к Р правила 3 [4„7„4] для каждого с) ЕО.

Индукцией по т и и легко доказать, что для любых д, г и6 и Е~Г [дог] ~"ш тогда и талька тогда, когда (4, ш, 2))-'(г, е, е). Доказательство оставляем в качестве упражнения. Из этого утверждения следует, что 5 ср [4,2 д] ср ' со тогда и только тог- да, когда (д„ ш, 2,)) †'(о, е, е) для 1) Е 9. Таким образом, Т.,Д) = й (6).

Г1) Результаты двух последних разделов можно сформулировать в виде следующей теоремы: Теорема 2,21. Утверждения (1) Г.=.1,(6) для КС-грамматики 6, (2) й =-~. (Р,) для МП-автомата Р,, (3) У,=Е,,(Р,,) для МП-автомата Рл, (4) 1.= 6(Р,) для расширенного МП-автомата Р, зквивалентпны. Доказательство. Из (3) следует (!) по лемме 2.26. Из (1) следует (3) по лемме 2.24. Из (4) следует (2) по лемме 2.21, а (4) тривиально следует из (2). Из (2) следует (3) по лемме 2.22, и из (3) следует (2) по лемме 2.23.

П 1) Верхний символ маглзкна й расположен слева, так как кы ке оговарквалк противное. 210 2.5А. Детерминированные МП-автоматы Мы уже видели, что для каждой КС-грамматики 6 можно построить МП-автомат, распознающий Л (6). Однако построенный МП-автомат был иедетерминированным.

В практических приложениях нас больше интересуют детерминированные МП-автоматы, т. е. такие, которые в каждой конфигурации могут сделать не более одного очередного такта. В этом разделе мы займемся детерминированными МП-автоматами и в дальнейшем увидим, что, к сожалению, детерминированные МП-автоматы не так мощны по своей распазнавательной способности, как недетерминированные МП-автоматы. Существуют КС-языки, которые нельзя определить детерминированными МП-автоматами.

Язык, определяемый детерминированным МП-автоматом, называется детерминированным КС-языком. В гл. 5 мы введем подкласс КС-грамматик, называемых ).К(й)-грамматиками, а в гл. 8 покажем, что каждая (,К(й).грамматика порождает детерминированный КС-язык и каждый детерминированный КС-язык определяется 1 К(1)-грамматикой. Определение. МП-автомат Р.=Я, А, Г, 6, д„7,„Р) называется детерминированным (сокращенно ДМП-автоматом), если для каждых дб9 и 7.е Г либо (1) 6(д, а, 2) содержит не более одного элемента для каж- даГО а~к И 6(д, Е, 2) — АО', ЛИбО (2) 6(д, а, 7)=1с1 для всех аЕт и 6(д, е, с) содержит ие более одного элемента.

В силу этих двух ограничений ДМП-автомат в любой конфигурации может выбрать не более одного такта. Это приводит к таму, чта на практике гораздо легче моделировать детерминированный МП-автомат, чем недетерминированный. По этой причине класс детерминированных КС-языков важен для практических приложений. Соглашение. Так как для ДМП-автомата 6 (д, а, 2) содержит не более одного элемента, мы будем писать 6(д, а, 2)=(г, у) вместо 6 (д, а, 7) ==- ((г, у)). Пример 2.37. Построим ДМП-автомат, распознаю1ций язык Т. = (и1си1я ) и1 С (а, Ь) ). Пусть Р = ((14, 4„1),), (а, Ь, с), (л„а, Ь), 6, о„Х, (о,)), где 6 определяется так: 6(д„Х, 1') =(д„Х)') для всех ХЕ(а, Ь) и 1'ч(2, а, Ь) 6(д„с, р')=(д„)') для всех )'Е(а, Ь) 6(д„Х, Х) =(дм е) для всех Х р'-(а, Ь) 6 (дх, е, 7) = (д„е) 211 гл.

г, элементы тнопии языков З.З. АВТОМАТЫ С МАГАЗИННОЙ ПАМЯТЬЮ До тех пор пока Р не увидит маркер с, отмечающий середину, ои запасаег в магазине символы входной цепочки. Когда Р достигает с, он переходит в состояние о, и далее сравнивает оставшуюся часть входной цепочки с содержимым магазина. Доказательство того, что Е(Р) --Л, оставляем в качестве упражнения. г1 Определение детерминированного МП-автомата можно естественным образом' расширить, чтобы включить в него те расширенные МП-автоматы, которые естественно считать детерминированными. Определение. Расширенный МП-автомат Р=(!е, Х, Г, 6, о„ 7„Р) называется детерминированным, если выполнены следующие условия: (1) 4): 6(д, а, у)(1 для всех дЕ !е, аЕХ 0(е) и у ЕГ*; (2) если 6(д, а, сс)Ф8, 6(д, а,(!)~Р) и сече:!), то ни Одна из цепочек сз и !! пе является суффиксом другой '); (3) если 6(о, а, сс)~ 0 и 6(д, е, )))чьо, то ни одна из цепочек а и )) не является суффиксом другой.

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

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

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

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