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

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

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

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

Таблица Тг соответствует ус Зто множество таблиц совпало с множеством на рис. 7.37. Далее мы увидим, что это пронзопгло не случайно. Сл Покажем теперь, что такой подход позволяет получить мно- жество ЕЕ(1)-таблиц, эквивалентное каноническому множеству !от гл г.методы оптимизации сицтлксических »и»лиз»гонов С()(1)-таблиц. Начнем с тога, что охарактеризуем объединенную систему мкожеств ситуаций, построенную на шлге (4) алгорит- ма 7.!3.

Дейан дог Пврвшд в Е Т Т и» * ( 1 е е н ( ) те Т, Тг Т» Т» 7»о Тм Рнс. 744. Множестно гнолгш хла б», оостроеннсе ннгорнгнон 7.!3. Огтренелеиие. Пусть КООТΠ— функция, определенная на шаге (4) алгоритма 7.!3. Расширим ее область определеиип, очевидныы образо»1 включив в нее цепочки символов, т. е. (1) КООТО(7, в) =3, (2) КООТО(3, ах) =КСОТО(КООТО(3, а), Х). Пусть О=(М, В, Р, 5) — КС-грамматика и 1Ч' — расщепляю- щее множество. Будем называть ситуацию [А а 6, а] квови- долуотимой для цепочки 7, если она допустима (в смысле равд. 5.2.3) или в пополненной грамматике есть такой вывод 5'~,'Ь,Вх~~ Ь,Ь,Ах=», 616»ай, что (!) Ь,б,а = 7, (2) В б ЬР (3) а Б РО(.1.0%(В).

Отметим, что если ситуация [А а й, а] ивазидопустима для у, то существует такая авапцепочка Ь, что ситуация [А а 6, Ь] допустима для у (Ь может совпасть с а). Х Х Х Х Х Х Л Х Х Х 4 Х 2 Х И 2 2 Х 4 4 Х 4 4 Х 6 6 Х 6 6 х х х д х х Х Х Х Г Х Х 5 Х Х Х Х х х х х х л х Х ! 8 Х т Х 3 5 Х 5 5 Х 5 5 Х 5 5 тг Т» Т, Х Х Г, Х х х х х т, х х х Х Х Х Х Х Тг Х Х Х Х Х Х Х Х Х Х Х Х Х Х Х Х Х Х Т Т Т Т Л' Л' Т Х х т т т х х 7 х Х Х Тгр Т» Х Х 7» Х Х Х Х Х Тн Х Х Тп Х Х Х Х л 77 Х Х Х Х Х Х Х Х Х Х Х Х Х Х Х Х Х Х 1.». ИетОды псстРОения ья(м.анализаторов лемма 7,3. Пусть 0 =-(К, 2, Р, 5) — КС-гРамматика, Уломинавигаяся выше, и КООТО(й„у) =7 для некоторой цепочки у из (К О Б)'. Тогда 2 — множество квазидопуотимых соогуаций для у.

доказательство. Докажем лемму индуицией по [7[. Базис, у=в, опустим, так как при проведении шага индукпии он станет очевидным. Пусть 7 = у'Х и уй †множест квазндопустимых ситуаций даа 7', Равное КООТО(7„7'). ПУсть уй= 3(,'О... О 3~»Слрчай, когда [5' .5, в] или [5' 5 е] принадлежит уд, проаналиаи. ровать легко, поэтому подробности мы опустим. Предположим, ч»о [А а Ь, а] принадлежит 3=-КООТО(р„у Х). Ситуапия [А —.а Ь, а] могяа попасть в 3 тремя путями. Случай 1: Допустим, что [А а 6, а]БООТО(д,», Л) для ! некоторых р, а=-а'Х и [А а' ° ХЬ, а]чд,». Тогда ситуация '» [А а'.ХЬ, а] ивазидопустима для у', а ото»ода следует, что ситуация [А а Ь, а] квазидопустимз для у.

l Случай 2: Допустим, что [А а.д, а]600ТО (7,», Х) и а--.е. Тогда найдется ситуация [В Ь,Х СЬМ Ь], принадлежащая ООТО(3,», Х), и вывод С=в, Аш, где об Г1ДБТ (иб»Ь). Следовагельно, ситуация [В 6, ХСЬМ Ь] квазидопустима для у', а ситуация [В 6,Х.С6„Ь] квазидопустима для 7. Бели первым символом пеночки ш служит а или ш=в и а появляется в Ь„ то снтуапия [А а д, а] допустима для 7. Аналогично, если ситуация [В 6,Х СЬ„Ь] допустима для 7, то допустимой дли у будет и ситуация [А а.б, а]. Поэтому предположим, что ш=в, 6»~'е, а=Ь и ситуация [В Ь,Х СЬО Ь] квазидопустима для у.

Тогда существует вывод 5' т»,' 6,0х ~', 6»6,Вх ~, 6„6,6,ХСЬ,х ~1 6,6,Ь,ХАк где 6,6,6,.х=у, Рб)6' и ЬБРОП.0%(Р). Такилг образом, поскольку а=Ь, ситуация [А а 11, а] квазидопустииа для 7. Случай 3; Допустим, что [А — а Ь, а] попадает о У на шаге (41 при выполнении операции пополнения. Тогда а=в и в СОТО(У,», Х) должна быть такая сит>ация [ — Ь,Х Сбм Ь] что С=Р',Рш, ю, Ашш,, 065' и обрП(БТ(юге) для некоторого гч РОССО%(Р). Другими словами, 0=5„а [А и (1, а] попадает в уд при присоединении множества й,'. Далее все аналогично случаю 2. Теперь докажем угнерждение, обратное к сформулированному выше, а именно: если ситуация [А — а 6, а] квазидопустима (69 гл.

т. мюоды опгимизгини син~лк~ичьских анализа~огсз т.е методы пОстРОения ьлаьхнх.чизхтороя для у, то она принадлежит д. Мы не рассматриваем более простои случай, когда ситуация доп)стима для 7. Предположим поэтому, что ситуация [А а Р, а] квазидопустнма, но недопустима. Тогда существует вывод 5'~) Ь,Вх=~'„Ь,Ь,Ах~,б,б.,абх где 7=616га, ВЕЬР и ай РОССО)У(В). Если атьг, то ьюжно записать а в виде а'Х. Тогда ситуация [А — а' ° Хб, а] квази- допустима для 7' и, значит, принадлежит 36.

Отсюда сразу следует, что [А а б, а]ЕР. Поэтому будем счьщзть, что а=.е. Рассмотрим деа случаи, соотвегству!ощие Ьь~=г и Ь,=е. Случай 1: Ь,~е. Тогда существуют выводы В=ь'.ЬгС~, бгЬ,ХЬ, н 6„~",А. Значит, ситуация [С вЂ” 6, ° Хб„а] каазидоп)стима для у' и потому принадлежит уд. Отсюда вытекаег, что [С 6,Х.Ь„а]й,э. Так как Ь,~,А, нетрудно показать, что либо при выполнении операции замыкания, либо при выполнении операции пополнения ситуация [А- а Ь, а] попадае1 в У. Случай 2; Ь,—...е. В этол1 случае существует вывод 5'=ь, 6 Су~гбьд,ХЬьу, где Ь,у~', Вх. Тогда ситуания [С 6, ° Хб„с], где с=р1((57(у), допустима для у'. Следовательно, [С Ь,Х Ь„ с]йу.

Так как Ь„у=ь',Вх, то прн выполнении операции пополнения в д включаются ситуации вида [В-' е, Ь], где В е— правило, а Ь принадлежит РОССО%(В). Поскольку В =.ь', А, ситуации [А а.б, а] добавляется к й либо при замыкании (в смысле определения, данного при описании алгоритма 7.12) множества, содержащего [В - е, Ь], либо при последующем выполнении операции пополнения. Теорема 7.10. Пусть (М, Х, Р, 5) — КС-грамматики и (ат, Т,)— мнсжестоо Е(((1)-таблиц дт 6, построенное алгоритмом 7.13. Пусть (ьт„т,) — каноническое множество. Эти дга множества лшблиц экгиеахеитны. До к а з а т е л ь с т в о.

Из леммы 7 3 вытекает, что таблица из множества Я, связанная с цепочкой у, совпадает в действиях с таблицей из Ф;, связанной с 7, везде, гпе в Ю, стоит дей. степе, отличное от ошибка, Поэтому, если два множества не эквивалентны, можно найти такую входную цепочку ю, что при работе с а, анализатор делает последовательность тактов (Т„м)) — *(ТХ Т,...Х Т„, х)'), после чего сообщает об ошибке, а при работе с у он делает последовательность тактов (Т„м)) — "(Т,Х,Т;...Х Т', х) ) — (Т„Р,Пы ..)г„(7„, х) )- "(т„р,и, . Р,П„и(), х') ') Дле ярсстоты им опусгнла ь этих ншфигурачиех вмхохнме леночке. 1!о Предположим, что таблица ()„строится по множеству ситу.

аций у. Тогда р содержит такую ситуацию [А а (1, Ь], что биме и айЕРР(6). Так как ситуация [А а 6, е] квазидопу. стима для У, ..У„, то по лемме 7.3 супгествует вывод 5'=р) 7Ау=>, (аду для некоторого у, где уа: —. Ры .. Г„. Так нак есть вывод 'г',... У„~',Х,...Х„, то У содержит ситуацию [В 6 е, с], допустимую для Х,...Х, где ай ЕРР(ес). (Случай е=е и а=с не исилючается. В самом леле, это будет в том слуЧае, если последовательность тактов (7',Х,Т;... Х„Т', х) — *(Т,Р,Ц...Т„П„, х) имеет ненулевую данну.

Если длина равна нулю, то роль ситу. алии [В Ь а, с] и~рвет [А а д, Ь].) Так как а=р!ВВТ(х), предположение о том, что при работе с множеством Ю' анализатор сообшает об ошибие в конфигурации (Т„Х,Т;... Х Т„'х), неверно. Теорема доказана. Сравним алгоритм расщепления грамматики с 5Ей-алгоритмом.

Алгоритм расщепления представляет собой обобщение 5СВ метода в следующем смысле. Теорема 7.11. Пусть С=(М, В, Р, 5) — КС-грамматика. 0 является 5Щ!)-грамматикой тогда и только тогда, когда алгоритм 7.13 работает успешно с Расщедляюи(и и множестеом Ьй В мпсм случае множестеа таблиц, порождаемые этими двумя методами, согпадают. Доказательство. Если Ы'=-(ц, то ситуеиия [А а.Ь, а] квазидопустима для 1 тогда и только тогда, когда ситуация (А — а Ь, Ь] допустима для некоторых Ь и а из РОССОЙ(А). Это следует из того, что если В ~', ЬС, то РОССО%(В) од ш РО!Л.ОХу(С).

Из леммы 7.3 вытекает, что Я.й-множества ситуаций совпадают с множествами, пОстроенными алгоритмом 7.13. ьз Теорема 7.9 представляет собой, таким образом, следствие теорем 7.10 и 7.11. В алгоритме 7.13 законченная процедура построения канани ческого Сй(1)-анализатора применяется к каждой грамматике-компоненте. Поэтому интуитивно, если грамматика не является 5(.В-грамматикой, желвтатьно собрать в олной нз компонент все те особенности данной грамматики, из-зв которых она нс является 5СВ-грамматикой. Проиллюстрируем это рассужденис примером. гл. Р.матоды оптнмнззцнн сннтлкснчаскн» лнглнзлтогов упглжненяя Прнмер 7.31.

Рассмотрим (1) (2) (3) (4) (б) (б) (7) ,длнлдм а Ь с а е !.П(1)-грамматику 5 Аа 5 8АЬ 5 сЬ 5 ВВ А с В Вс В Ь йреклу 8 4 8 с 5 с 8 впвлжненмя 6„...) ).)((0)-гралгматнк, тг Тг Тг Х Тс Тг Тг Т Х Х Х Х Х Х ХХ Тг !<!<л 1<1~!<п !<!<а 1~1, 1<л Тг !к Тг 1гг 7\г Рас. 7.45. Мнсжсстсс !.3(!Ьггблзп. Ыз.эа правпл (1) — (3) н (б) она не является 51.р-грамлгатикой Взяв в качестве расщепляющего мвожества (5, В), объединим этн четыре правила в одну' грамматику-компоненту, а затем применим к ней (.)7(1)-лгетцд.

Алгоритм 7.13 применительно к такому расщепляющсму множеству выдаст множество (.Пл(1). таблнгг, показанное на рнс. 7АЬ. С) гщ мз Х 8 8 8 Х Х Х Х Х Л 8 Х Х Х Х Х 8 8 Х Х Х Т 7 Х 7 5 8 Х Х Х Х Х 8 Х Х хххх Х Х 8 Х 4 Х 6 6 Х 6 Х Х Х Х 3 Х 8 Х Х Х Х 5 Х Х Х х х х х а Х Т Х Х Х Х Х Та Х Т, Тг Х Х Х Х Х Х Х Х Х Х Х Х Тгс Х Х ХгмХХХТ„Х Х Х Х Х Х Х Х Х Х Х Х Х Тз Х Х Х Х Х Х Х Х Х Х Х Х Х Х Х Х Х Х Х тм Х Х Х Х Х Х Х Х Х Х Х Х Х Х Х Х Наконец, отметим, что ии алгоритм 7.10, ни алгоритм 7.13 не используют в полной мере технику отсрочки в обнаружении ошибок и слияния таблиц.

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

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

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

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