Главная » Просмотр файлов » Карпов - Основы построения трансляторов (2005)

Карпов - Основы построения трансляторов (2005) (943926), страница 7

Файл №943926 Карпов - Основы построения трансляторов (2005) (Карпов - Основы построения трансляторов (2005)) 7 страницаКарпов - Основы построения трансляторов (2005) (943926) страница 72013-09-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Например (здесь выделены заменяемыс подцепочки): :~ ЬАсаЯ =т'"' сЬс, поскольку ЬАссй =-> ВаЯ == саЖ => сЬЬАс ==> сЬВ => сЬс; Ч ИсаЯ.==* Виск, поскольку ЬАсаЯ ==> ЬАсас~КЬАс ==. ЬАсаис ==> Ваас. Гаким образом, грамматика Хомского представляет собой механизм порождения одних символьных цепочек из других символьных цепочек„причем из .одной и той же цепочки можно породить несколько различных цепочек, час—.о бесконсчное их количество. Например, в грамматике бо цепочка ЬАсаЯ :юсле подстановки вместо Я цепочки аЯЬАс по первому правилу превращает.я в цепочку, также содержащую Я.

Из этой новой цепочки по тому же правилу мы опять можем породигь цепочку, содержащую Я и т. д., — любое конечное количество раз. ~ Иметим, что порождающая грамматика Хомского не предписывает опреде.1енный единственный вывод, т. с. не задает алгоритм порождсния. Здесь от;~тствует важнейший элемент алгоритма — его детерминированность, опре'сленность последовательности операций. Грамматика представляет только возмо>кность — это инструмент, механизм порождения цепочек, и с этой .очки зрения грамматика Хомского является исчислением, подобным, на- 36 Глава 2 Перейдем теперь к вопросу о том, как связаны между собой грамматика Хом- ского и порождаем ы й ею яз ы к. 2.3Л. Как грамматика порождает язык? Определение 2.6.

Языком, порождаемым грамматикой б, называется мно- жество терминальных цепочек, выводимых из начального символа грамма- тики. Или, формально, Л(Ст) = (о,~-=?'" ~ Я =~с;*о,~. Итак, любой вывод цепочек языка мы должны начинать только с начального нетерминального символа. Если после произвольного конечного числа подстановок, выполненных в соответствии с правилами грамматики, полученная в результате цепочка состоит только из терминалов, то это цепочка является цепочкой порождаемого данной грамматикой языка. Отсюда ясны названия терминальные/нетерминальные символы. Только терминальные, окопчаиельпьк символы могут встретиться в цепочках языка, заканчивающих вывод. Нетерминальные — это дополнительные, вспомогательные символы, необходимые для задания языка конечным набором правил. Например, цепочка ЬЬЬ принадлежит языку, порождаемому грамматикой Йо.

Действительно: Я ==> «5Ь4с =- ЬЬАсЬАс ==. "ЬВЬАс ==> ЬВВ ==> ЬЬВ ==> ЬЬЬ (здесь в промежуточных цепочках вывода выделены подцепочки, которые на сле- дующем шаге заменяются в соответствии с одним из правил грамматики). ПРИМЕР 2.6. Попробуем охарактеризовать весь язык, который порождается введенной нами грамматикой Сто. Начинаться любой вывод может только с начального нетерминала, и для его замены в Йо есть только одно, первое пра- пример, исчислению высказываний.

Действительно, в исчислении высказываний объектами. над которыми производятся операции, являются высказывания, в грамматиках Хомского — цепочки символов. Конечным множеством операций в исчислении высказываний является фиксированное множество логических операций, с помощью которых из одних высказываний получаются другие. В грамматике Хомского множеством операций являются правила грамматики, в соответствии с которыми осуществляются подстановки, и из цепочек символов получаются объекты той же природы — другие цепочки символов.

В отличие от исчисления высказываний, в грамматике Хомского множество операций — правил — свое для каждой грамматики. Но в обоих случаях — и в исчислении высказываний, и в грамматиках Хомского — конечное множество операций используется для получения одних объектов из других: высказываний из высказываний, цепочек из цепочек. В обоих случаях порядок применения операций, алгоритм получения новых объектов из старых не предписан, можно использовать разные операции, разные объекты и получать разное — обычно бесконечное — число порожденных объектов. Глава 2 Применение любого из трех правил сразу завершит вывод с получением со- ответствующей цепочки языка из начального символа.

ПРИМЕР 2»8» Г) — ~а, Ь~: Е~ — ~а Ь ~ ~~ ~ О',. Любая цепочка языка Е2, порождаемая искомой грамматикой, имеет вид АВ, где А — цепочка, состоящая только из и, а о — цепочка из Ь, причем количества символов в группах А и В равны. При порождении удобно одновременно порождать и а, и Ь, тогда это требование будет выполнено автоматически. Если одним из правил грамматики будет 5-+аЯ~, то многократным его применением можно построить: Я ==:> аЯ~ ==> иаЯ)Б ==> ... =~ аа...иКЬ...ЬЬ ==> ...

Все промежуточные цепочки вывода не являются цепочками языка, порождаемого 62, поскольку эти цепочки состоят не только из терминальных символов. Для получения терминальных цепочек требуемого вида достаточно в этих промежуточных цепочках убрать Я, что может быть сделано при наличии в грамматике правила Я вЂ” +а. Окончательно: Вывод цепочки азЬ: Я == аЯ~ ==> ааЯЬБ == ааа%БЬ ==> аааЬЬЬ. ПРИМЕР 2.9. ~'з =- (,а., Ь, с~; Лз = (а'Ьс"'~ п, т > О~.

Структура любой цепочки языка Л~ — АоС (А — цепочки из а, С вЂ” цепочки из с, средняя часть В любой цепочки порождаемого языка состоит из единственного терминального символа Ь). Поскольку количества символов а в начале цепочек языка и с в конце цепочек могут не совпадать, отдельные части структуры цепочек можно генерировать независимо.

Искомая грамматика: К-+АВС А — +аА А-+а С вЂ” С» С вЂ” +с Введем небольшое упрощение при записи правил грамматики. Все альтернативные замены одного и того же нетерминала (т. е. различные правые части правил с одинаковой левой частью) будем записывать в одну строку через знак альтернативы 1'. =зыки и грамматики Я-+АВС А — +аА !а  — >Ь С вЂ” +С'с ~ с ~1ример вывода в грамматике бз. Я -..=~ АВС.' ==: аАВС ~ ааАВС ==> аааВС => .;«а!й.." =~ аааЬС.с =- аасйсс. Здесь иа каждом шаге вывода в промежуточной ,.ег!очке заменялась самая левая подцепочка, которую можно было заменить в ;.1ответствии с правилами грамматики.

Такой вывод называется канониче;ким левым выводом. Ту же цепочку языка можно породить в этой грамматике и с помощью другого вывода — например, заменяя самый правый не»ерминал в промежуточной цепочке вывода. Такой вывод называется кано:! !! геским прзВым: Л" => .4ВС' =-> АВС'с =-. АВсс ==:> АЬсс ==> аАЬсс:.."~ ааАЬсс ==:> .;«иЬсс. Наконец. можно породить ту же цепочку ни левым, ни правым выволом, произвольно выбирая заменяемую подстроку: Я ~ АВС' ==> АВСс =- «ЛВГс =- а.4ЬСс' ==> ааАЬ! 'с =~ ааЛЬсс ==> аиаЬсс. 11осгроенные нами грамматики б!- — 6; имеют особый вид правил "А — +а"— :;епочка левой части, определяющая заменяемую подцепочку, содержит ;о,!ько один-единственный символ нетерминального словаря.

Такие грамма; пки — по сути, частный подкласс грамматик Хомского — являются наибоее ингересными в теории трансляции, они называются "контекстно-свобод!ыми (КС) грамматиками". Для таких грамматик вывод цепочки порождае'!ого языка на каждом шаге состоит в замене некоторого нетерминала ;снтенциальной формы (промежуточной цепочки вывода) некоторой цепоч~ои в соответствии с одним из правил грамматики, причем замена эта н( у'чи; ывает ко!пекста„в котором находится этот нетерминал. Отсюда и название .-ра м мати ки — контекстно-свооодная.

".1оро>кдение цепочки языка в контекстно-свободной грамматике можно более .добно графически представить деревом, показывающим, как нетерминалы, ;~оящие в узлах дерева, заменяются цепочками правых частей соответст.'уюгцих правил (продукций) грамматики. Для всех трех различных выводов :!Спочки аааЬсс, приведенных выше, дерево вывода в грамматике бз одно и . о же (рис. 2.3), т. е.

в деревьях вывода информация о порядке подстановок в выводе цепочки языка из начального символа отсутствует. Итак, для КС- рамматик вывод удобно характеризовать именно деревом, а не линейной !оследовательностью шагов подстановок. деревья вывода л!обых цепочек языка, порождаемого КС-грамматикой, име.;1г следующу!о структуру. Корень дерева всегда помечен начальным симво1ом грамматики, в каждом внутреннем узле дерева стоит какой-либо нетер.!инал, а листья дерева помечсны терминальными символами так, что читае- Глава 2 мые слева направо они представляют терминальную цепочку, выведенную из начального символа.

Из любого узла дерева, помеченного нетерминальным символом Д, идут вниз ветви к узлам, помеченным Х1Х ... Хь если Д вЂ” +Х1Х. Х~. — это одно из правил грамматики (рис. 2.4). Рис. 2.3. Дерево вывода цепочки аааосс в грамматике бз Рис. 2.4. Представление узла дерева вывода для правила Я-+Х1Х~ ... Х~ Таким образом, вывод любой цепочки языка, порождаемой КС-грамматикой из начального символа грамматики, может быть экономно представлен деревом вывода.

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

Это предположение и сделал Н. Хомский. Согласно Хомскому, пепгериипалы граичаиики предслгавтот собой языковые копструкции (классы), г<граинцие оггределеппые ролгг в предлолсепиях языка, а дерево вывода связываеи эпггг роли и ггх с.иысловые паерузки, что иозволяет поспгроипгь или "вычислить" слгыслы более общих копспгрукций из смыслов их соспгивляющг~х копструкггий и, в конце копцов, вы ч ислиl11ь С.1гысл всеГО и~) ед?юлсишя. Именно эти понятия и идеи будут объектом нашего дальнейшего исследова- ния и формализации. Сделаем одно важное замечание, пользуясь примером 2.9. В этом примере по заданному языку Лз = ~а Ьс ~ п, пг > О,' ставилась задача построения порож- дающей этот язык грамматики.

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

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

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

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