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

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

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

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

рнтельно требуется лишь немного внданзыеннть Исходную трам. матику. Прнмененке методов аптимнзацнн позволяет су7цестаенио укеньшнть размер 3ЕК(1)- илн ЕЛ1К(1)-анализатора. Обычно имеет смысл исключить свертки по цепнмм правнлаы. Дальнейшее уменьшенне размера анализатора возможно, если ЕЛЕК(!)-анализатор реализуется в виде анализатора на языке Флойда — Эванса из равд. 7.2. Элементы действия каждой ЕК(!). таблицы можно представить в виде последовательности операторов переноса, за которымн следуют операторы свертки, за которымк в свою очередь следует один безусловный оператор ошибки. Если все операторы свертки включаю! одно н то же правнло, то всех их вместе с последующим операторомошибки можно заменнть одним оператором, свертывающнм в соответствии с зтям правилом независнмо от входной цепочки.

Способность анализатора обнаруживать ошибки прн такой о>пимизацин не затрагивается. См. упр. 7.3.23 н 7.5.13. Элементы перехода каждой СК(1)- таблицы, отличные от 97, запоминаются в виде списка пар (А, Т), означающих, что на нетерминале А в верхушку магазина помещается таблица Т. Переходы, отвечающне терминалам, можно закодировать в самых операторах переноса, Заметим, что элел7енты 37 запоминать не требуется. После этога можно пользоваться методами оптимизации, описанными в разя. 7.2 н состоящими в том, что общие последовательности операторан слнваются. Такие подходы к построению анализаторов обладают рядом практических преимуществ. Во-первых, полученный анализатор можно чисто механически отладить, порождая входные цепочки, позволяющнс проверить поведение анализатора. Например, легко построить входные цепочки, проверяккцие каждый полезный злемегп 1Л.(1)- илн СК(1)-таблицы Др>гас преимущество 1Л.(1)- н ЕК(1)-аналнзаторов, особенно первого из них, связано с тем, Гл г иэтоды аптиризлпии гиитАксичесхил АИАлизАтароз эпрлжншгия что небольшие излгенения в синтаксис или семантику можно внести, просто изменив соответствующие элементы таблицы разбора.

Наконец, читатель может убедиться в толг, что некоторые неоднозначные грамматики имеюз "1.1". или *'Йшанализаторы, образованные в результате того, что конфликты разбора разрешаются некоторым произвольным образом (упр. ?.5.!4]. Конструирование анализаторов такого типа составляет предмет дальнейших исследований. эпнджниния 7.5.1. Постройте для грамматики 6, анализирующий автомат М. Постройте па М эквивалентные расщепленный, палуприведеииый и привспсиный автоматы. 7.5.2.

Пощройте анализирующие автоматы для всех грамма. тик из упр. 7.3!. 7.5.3, Расшспитс состоянии авточатоа из упр. 7.5.2 для по. строешш приведенных анализирующих автоматов. 7.5.4. Докажите лемму 7.4. 7.5.5. Докажите, что определение приведенного автомата, данное в равд. 7.5.2, корректно, т.

е. если Р=.д, та 6(р, а) =- =— 6(д, а) для всех а из 2'Г) (е). 7.5.0. Докажите теорему 7.13. Определение. Пусть 6 = (Х, 2, Р, 5') — пополненная КС-грамматика, правила которой занумерованы числами О, 1, .. так, по нулевое правило есп 5' Я. пусть 2' = (ял„жл„..., Йр)— мнажсагао специальных симполов, не принадлежащих Х Г) Тш Пусть г-е правило имеет вид А 1! и 5'~',аАш=л,абш. Тогда афНА, называется характериипишслай цепочкой иразоаыводимой цепочки абш.

*7.5.7. 11окажите, что множество характеристических цепочек для !ГС-грамматикгг регулярно. 7.5.8. Покажите, что КС.грамматииа 6 однозначна тогда и талька тогда, когда каждая правоаыводимая цепочки грамматики 6, за исключением 5', имеет едггиственгтую характеристическую цепочку. 7.5.9. Поиажите, что КС-грамматика является 1К(Д)-грамматикой тогда и только тогда, когда любая правовыводимая цепочка гфш, дли которой 5'=->',аАш=-л,абю, имеет характеристическую цепочку, которую можно найти, зная толька сф и 1:1((ЯТА(ш).

7.5.10. Пусть 6 = (Х, 2, Р, 5) — 1.0(0)-грамматика и ( а, Т,)— ее каноническое множества СК(0)-таблиц. Пусть М = ('.", т 1! ш', 6, Т, (Т,))-. канонический анализирующий автомат для 6. П) сгь М'=(ГО (47), д 1!2', 6', Т„(4 )] -детеРминиРованный конечный автомат, построенный по М следующим образам: (1) б'(Т, а) = 6(Т, а) для всех 7'бш и а02, (2) б'(Т, ф",) --4, если 6(7', Т') определено и Т' состояние свертки, вызйвающее свертку по правилу г. Покажите, что 7(М')- множество характеристических цепочек для 6.

7.5.11. Напишите алгоритм слияния „эквивалентных" состоя- ний полуприведенного автомата, построенного для Г.К(1)-грэм. матикн. Эквивалентггыми здесь начываютси состояния, переходы из которых помечены одним и тем жс множеством символов, причем одинаково помеченные переходы ведут в эквивалентные состояния ').

7.5.12. Предположим, что мы изменили определение эквива- лентности, данное в упр. 7.5.11, так, что эквивалентными тсасрь считаются и те состояния, переходы из котарьж, помеченные символом а, всегда, когда они существуют, ведут в эквивалент- ные состояния. Будет ли полученный автомат эквивалентен (в формальном смысле, т. е. при условии, что перенос вапрегцен, если исходный автомат сообщил об ошибке) полуприведеннаму автомату? 7.5.!3. Предположим, что в СК(1)-анализнругошелг автомате из состояния чтения Т переходы происходят талька в состояния выталкивания, свертывающие по одному и тому же правилу. Покажите, что если исключить Т и слить асе эти состоинии выталкивания в одно состояияе, то новый автомат будет сверты- вать независимо от ававцепочки, но останется эквивалентным исходному автомату.

7.5.14. Пусть 6 †однозначн грамматика с правилами 5 Н Ь (реп ЯЕ)а Е е1зе Я!е (а) Покажите, что !.(6) ие является Б).-языколг. (б) Постройте для 6 (.предсказьгваю~ций анализатор, считая, что всякий раз, когда в верхушке магазина находится символ Е, а следующим входным символом является е!эе, нужно примешгть правила Е еЬеЯ. (в) При аналогичных предположениях постройте для 6 Г.К(!)- анализатор. ') Эгз определение иажча сделать точзыи, зззлэ атаошеииз клх шо Хсллласл з лемме 7.2. 137 Гл г методы Оптимизации синтАксических АнАлнзАтОРОЕ Проблемы ддя исследозания 7.5.15. Примените используемый метод, а именно разбиение анализатора на ряд активных компонент и слияние пли исключение неноторых из них, к анализаторам, отличным от СК-анализаторов.

Например, в методе, описанном в равд. 7.2, активными компонентами были строки матрицы предшествовапия. Разработайте методы, применимые к [.[.-Енализаторалг и различным типам анализаторов предшествования. 7.5.15. Некоторые состояния канонического аналивирующего автомата обладают тем свойством, что автомат с такими состояниями распознает только регулярные множества. Рассмотрим задачу расщепления состояний переноса Анализирующего автомата на состояния просмотра н заталкинания. В состоянии просмотра могут просматриваться входные символы и генерироваться выходная цепочка, но не производится никаких действий с магазином.

После состояния просмотра управление передашся в другое состояние просмотра или в состояние заталкнвания. Таким образом, множество состояний просмотра работасг как конечный преобразователь. В состоянии заталкивапия в магазин помещается имя текущего состояния, Разработайте преобразояания, с помощью которых можно оптнл|изиравать анализируюплий автомат с состояниями просыотра и заталкивания, а также с расщепленными состояниями свертки. 7.5.17.

Опишите методы оптимизации из равд. 7.3 в терминах методов из разд. 7.5 и наоборот. уорпжнония но программирование 7.5,13. Разработайте элементарные операции, необходимые для реализации расщепленного еанонического автомата Постройтс для них интерпретатор. 7.5.10. Напишите программу, получающую на вход расщепленный канонический автомат н строшцую по нему последоиательность элементарных операций, моделирующую поведение впали Аярующего автомата. 7.5.20.

Постройте для одной из грамматик из приложения к тому 1 дна С[((Г)-аналллзатора. Один БК(!)-анализатор должен быль Г.К(1)-анализатором интерпретиру!Он!его типа, работающим с множеством БК(1)-таблиц. Другой- -последовательностью элементарных операций, моделирующей аналязнр)ющий автоиат. Сравните размеры и скорости работы этих анализаторов. Замечания по литературе подход, есчоллзуюшие юалезаруюшее автомат, предложен дз Ремерам 119еэ! Одуедедензе хгракъоишдческое кепочки, пгедшес~зуюшее учр 7.5 Т, ззичслвонднс зэ того же зстсчочхг. [ыыссн эеодеозедчнмх грамматик, рдзОеолечнд Ы- илз Гй-заадизегораяз, рассматривались Ахо з др.

[[9ТЕ!. ТЕОРИЯ 8 ДЕТЕРМИНИРОВАННОГО РАЗБОРА В гл. 5 мы познакомились с различными классами грамматик, для которых удается построить эффективные детерминированные синтаксические анализаторы. Были продемонстрированы некоторые отношения включения на классах грамматнн. Например, мы показали, что каждая (т, й)-ОПК-грамматика является Ы(д).

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

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

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

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