Главная » Просмотр файлов » Хопкрофт, Джон, Э., Мотвани, Раджив, Ульман, Джеффри, Д. - Введение в теорию автоматов, языков и вычислений

Хопкрофт, Джон, Э., Мотвани, Раджив, Ульман, Джеффри, Д. - Введение в теорию автоматов, языков и вычислений (1082271), страница 48

Файл №1082271 Хопкрофт, Джон, Э., Мотвани, Раджив, Ульман, Джеффри, Д. - Введение в теорию автоматов, языков и вычислений (Хопкрофт, Джон, Э., Мотвани, Раджив, Ульман, Джеффри, Д. - Введение в теорию автоматов, языков и вычислений) 48 страницаХопкрофт, Джон, Э., Мотвани, Раджив, Ульман, Джеффри, Д. - Введение в теорию автоматов, языков и вычислений (1082271) страница 482018-01-11СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

5.2, также нерегулярен. Например, в соответствии с этой грамматикой, ("а)" является правильным выражением, Мы можем использовать лемму о накачке для того, чтобы показать, что если бы язык был регулярным, то цепочка с некоторыми удаленными левыын скобками, символом а и всеми нетронутыми правыми скобками также была бы правильным выражением, что неверно. Многие объекты типичного языка программирования ведут себя подобно сбалансированпыы скобкам. Обычно это сами скобки в выражениях всех типов, а также начала и окончания бкоков кода, например, слова кэед1п и епск в языке Рааса(, или фш урные скобки ( и ) в С.

Таам образом, любое появление фигурных скобок в С-программе должно образовывать сбалшсированную последовательность с ( в качестве левой скобки и ) — правой. Есть еше один способ балансирования "скобок", отличающийся тем, что левые скобки могут быть несбалансированны, т.е. не иметь соответствующих правых. Примером является обработка 1х и е1ве в С. Произвольная 1х-часть может быть как сбалансироваа, так и не сбалансирована некоторой е1ве-частью. Грамматика, порождающая возможные последовательности слов 1х и е1ве, представленных Г и е соответственно, име- ет следующие продукции. о-ь п~йй~ ко ~!Яео Например, ~еке, йе и Ге) являются возможными последовательностями слов 1х и в1ве, н каждая из этих цепочек порождается данной грамматикой, Примерами неправипьных последовательностей, не порождаемых грамматикой, являются ек и Геегй Простая проверка (показательство ее корректности оставляется в качестве упражнения) тою, что последовательность символов ( и е порождается грамматикой, состоит в рассмотрении каждого е по очереди слева направо.

НаГшем первое! слева от рассматриваемого е. Если его нет, цепочка не проходит проверку и не принадлежит языку. Если такое к есть, вычеркнем его и рассматриваемое е. Затем, если больше нет символов е, цепочка проходит проверку и принадлежит языку. Если символы е еще есть, то проверка продолжается. Пример 5.20. Рассмотрим цепочку (ее. Первое е соответствует ) слева от него. Оба удакяются.

Оставшееся е не имеет к слева, и проверка не пройдена; слово (ее не принадлежит языку. Отметим, что это заключение правильно, поскольку в С-программе слов в1ае не может быть больше, чем 1х. В качестве еще одного примера рассмотрим йе(е. Соответствие первого е и ) слева от него оставляет цепочку йе. Соответствие оставшегося е и к слева оставляет 1 Символов е больше нет, и проверка пройдена.

Это заключение также очевидно, поскольку последовательность йе(е соответствует С-программе, структура которой подобна приведенной на рнс, 5.10. В действительности, алгоритм проверки соответствия (и компилятор С) говорит нам также, какое именно 1х совпадает с каждым данным е1ве. Это знание существенно, если компилятор должен создавать логику потока управления, подразумеваемую программистом. П 5.3, ПРИЛОЖЕНИЯ КОНТЕКСТНО-СВОБОДНЫХ ГРАММАТИК 209 (Условие) ( (Условие) Инструкция; е1ее Инструкция; 11 (Условие) Инструкция; е)зе Инструкция; Рис.

5.!О. Структура (бе(ве; два свова а1пе соответствуют предыдуи(им де а первое дк'песбалансировапно 5.3.2. Генератор синтаксических анализаторов тгАСС 1с) Ехр '+ ' Ехр Ехр '*' Ехр '(' Ехр ')' ( °,) ( ..) ( ° ° ° 1 (. ) 'а' ( ° ) (.. ) ( . ) (...1 (...) ( ° ° ) 1с( 'Ъ' 1с1 'а' ) 1с( Ъ ! 1с) '0' 1с( ' 1' Рис. 5. )!. Р!ример грамматики в потаяии УАСС ГЛАВА б.

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

Обычно действием является код для построения этого узла, хотя в некоторых приложениях УАСС дерево разбора не создается, и действие задает что-то другое, например, выдачу порции объектного кода. Пример 5.21. На рис. 5.11 показан пример КС-грамматики в нотации УАСС. Грамматика совпадает с приведенной на рис. 5.2. Мы опустили действия, показав лишь их (требуемые нотацией) фигурные скобки и расположение во входной последовательности УАСС. Отметим следующие соответствия между нотацией т'АСС и нашими грамматиками. ° Двоеточие используется в качестве символа продукции э. ° Все продукции с данной головой группируются вместе, и их тела разделены вертикальной чертой. ° Список тел для данной головы заканчивается точкой с запятой. Завершающий символ не используется ° Терминалы записываются в апострофах.

Некоторые буквы могут появляться в одиночных апострофах. Хотя у нас они не показаны, т'АСС позволяет пользователю определять также и символические терминальь Появление таких терминалов в исходной программе обнаруживает лексический анализатор и сигнализирует об этом синтаксическому анализатору через свое возвращаемое значение. ° Цепочки символов и цифр, не взятые в апострофы, являются именами переменных.

Мы воспользовались этой возможностью для того, чтобы дать нашим переменным более выразительные имена — Ехр и 1<1, хотя можно было использовать Е и Е 5.3.3. Языки описания документов Рассмотрим семейство "языков", которые называются языками описания документов (шмкцр 1апяцадев), "Цепочками" этих языков являются документы с определенными метками, которые называются дескрипторами (гааз). Дескрипторы говорят о семантике различных цепочек внутри документа.

Читатель, возможно, знаком с таким языком описания документов, как НТМ1. (НурсгТехг МагЬцр Ьапяцаяе). Этот язык имеет две основные функции: создание связей между документами и описание формата ("вида'*) документа. Мы дадим лишь упрощенный взгляд на структуру НТМЬ, но следующие примеры должны показать его структуру и способ использования КС-грамматики как для описания правильных НТМЬ- документов, так и для управления обработкой документа, т.е. его отображением на мо- ннторе или принтере. Пример5.22.На рис.5.12,а показан текст, содержащий список пунктов, а на рвс. 5.12, б — его выражение в НТМ1.. На рис. 5.12, 6, показано что НТМЬ состоит из обычного текста, перемежаемого дескрипторами.

Соответствующие друг другу, т.е. парные дескрипторы имеют вид <х> и < х> для некоторой цепочки х.з Например, мы видим парные дескрипторы <ЕМ> и <!ЕМ>, которые сигнализируют, что текст между ними должен быть выделен, т.е. напечатан курсивом или другим подходящим шрифтом.

Мы ' Иногда введение признака <х> несет в себе больше информации, чем просто нмя х для призвака. Однако мы нс рассматриваем в примерах эту возможность. 211 5.3. ПРИЛОЖЕНИЯ КОНТЕКСТНО-СВОВОДНЫХ ГРАММАТИК вИдим также парные дескрипторы <ОЬ> и </ОЬ>, указывающие на упорядоченный спи- сок, т.е. на нумерацию элементов списка. Вещи, которые я неновизсу. 1.

Заплесневелый хлеб. 2. Людей, которые ведут машину по узкой дороге слишком медленно. о) видимый текст <Р>Вещи, которые я <ЕМ>ненавижу</ЕМ>: <ОЬ> <Ь|>Заплесневелый хлеб. <Ь|>Людей, которые ведут машину по узкой дороге слишком медленно. </ОЬ> б) исходный ИТМ1-текст Рис. 5.! 2 НТМ1-документ и его видиков версия Мы видим также два примера непарных дескрипторов: <Р> и <11>, которые вводят абзацы и элементы списка, соответственно. НТМ) допускает, а в действительности поощряет, чтобы эти дескрипторы сопровождались парными им </Р> и </Ь|> на концах абзацев и списков, однако не требует этого. Поэтому эти парные дескрипторы не рассматриваются, что обеспечивает некоторую сложность нашей НТМ1,-грамматике, развиваемой далее.

П Существует много классов цепочек, связанных с НТМЬ-документом. Мы не будем стремиться перечислить их все, а представим только существенные для понимания текстов, подобных приведенному в примере 5.22. Для каждого класса мы введем переменную с содержательным именем. 1. Техт (текст) — это произвольная цепочка символов, которая может быть проинтерпретирована буквально, т.е. не имеющая дескрипторов, Примером элемента-текста служит "Заплесневелый хлеб" (см. рис.

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

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

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