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

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

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

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

е. слова ~вернее. словоформы) естественного языка. 2.7.5. Языки сетей Петри Грамматики Хомского являются моделью„которая лежит в основе подавляющего большинства идей в области спецификации формальных языков. Нотация Бэкуса — Наура, например, является просто оолее удобным представлением правил грамматик Хомского типа 2, синтаксические диаграммы — их наглядным графическим представлением, а грамматики с рассеянным контекстом разрешают одновременную замену сразу нескольких нетерминалов в порождаемой строке, что является очевидным обобщением КС- грамматик. Но грамматики Хомского отнюдь не единственно возможный способ задания языков.

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

В каждой позиции может быть некоторое количество маркеров. Динамика сети Петри выражается в том. что у нее может сработать переход, если он активный. Активным переход будет в случае, если во всех позициях, из которых в переход ведут ребра, находится по крайней мере один маркер. При срабатывании перехода из каждой позиции, из которой в этот переход ведут ребра, изымается по одному маркеру и в каждый переход, в который направлены ребра из данного перехода., по одному маркеру добавляется.

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

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

Эта проблема заключается в том„чтобы синхронизировать два параллельных процесса (представленных здесь последовательностями позиций <рО, р1, р2> и <рЗ, р4, р5>) таким образом, чтобы в своих критических интервалах, связанных, например, с использованием общего ресурса, оба процесса не могли бы находиться одновременно. Критические интервалы в двух процессах нашего примера моделируются позициями р2 и р5.

События входа в критический интервал и выхода из него моделируются для двух процессов переходами ~1, ~2 в одном процессе, и ~4, г5 во втором. Именно эти интересующие нас события помечены ф, ~2 помечены а и о, а ~4, 15 помечены с и с~). Легко видеть, что префиксный язык, порождаемый этой сетью Петри — это язык, определяемый регулярным выражением (аЬ+са)*. Простейший анализ этого языка показывает, что проблема взаимного исключения здесь решена корректно. Действительно, все цепочки языка удовлетворяют требованию взаимного исключения: если один процесс вошел в свой критический интервал.

то другой не может войти в свой критический интервал, пока первый не выйдет из своего, что в терминах языка представлено так: цепочки языка не содержат фрагментов ас и са. Таким образом, анализ правильности функционирования двух параллельных процессов (а именно корректность решения Глава 2 80 Кроме префиксных языков иногда удобно рассматривать так называемые терминальные языки сетей Петри. Терминальным языком сети Петри называ- ется множество последовательностей пометок срабатывающих переходов се- ти, приводящих к некоторой заданной финальной маркировке сети. ПРИМЕР 2.25.

Г1усть в качестве финальной маркировки сети Петри рис. 2.25, а выбрана маркировка ~0, О, 1), т. е. такое состояние сети, при котором единственный маркер находится в позиции РЗ, а две других позиции не содержат маркеров. При достижении финальной маркировки эта сеть порождает терминальный язык Е = ~аЪ" ~ и > 0~, который. как известно, является КС-языком. Действительно, стартуя с начальной маркировки ~1, О, 0), переход (1 может сработать многократно произвольное число раз, после чего сработает переход (2.

Произвольное конечное число маркеров, равное числу срабатываний перехода ~1, накопится в позиции р2. Для достижения финальной маркировки все маркеры„появившиеся в позиции о2, должны исчезнуть, что возможно только при соответствующем числе срабатываний перехода ~3. Сеть Петри рис, 2.25, б при достижении финальной маркировки ~0, О, О, 1) порождает язык согласованных скобок ~язык Е; из равд. 2.2).

б) Рис. 2.25. Сети Петри, порождающие терминальные языки: а) язык ~ = (аЪ" ~ и > О~ и б) язык согласованных скобок Возникает вопрос: какой порождающей мощностью обладают сети Г1етри, иными словами, какие языки могут ими порождаться? Оказывается, что языки, порождаемые сетями Петри, занимают промежуточное положение между автоматными языками и языками, порождаемыми неограниченными грамматиками Хамского (и, следователыю, распознаваемыми машинами Тьюринга). Очевидно, что частным случаем сетей Петри являются конечные автоматы. Действительно, любая сеть Петри, в каждый переход которой входит ровно одна стрелка и из каждого перехода которой выходит ровно одна стрелка, проблемы взаимного исключения) проведен здесь с помощью языка, порож- даемого сетью Петри.

Языки и грамматики имеющая в качестве начальной маркировки ровно один маркер только в одной какой-нибудь позиции, представляет конечный автомат. Следовательно, все автоматные языки порождаются сетями Петри. Поскольку сети Петри могут порождать и неавтоматные языки (например, а Ь ), то они строго мощнее конечных автоматов. Легко построить сеть Петри, порождающую терминальный язык ~а"о"с" ~ Ж> О~ для терминальной маркировки (О, О, О, О, 1) (рис.

2.26). Этот язык не является КС-языком. Однако существуют КС-языки, которые не могут порождаться сетями Петри. Например, в ~П84~ это показано для языка ~всю ~ ие,'а, Ь~*, и — зеркальное отображение и ~. Отсюда следует справедливость теоремы 2,3. Рис. 2.26. Сеть Петри, порождающая терминальный язык (а" г>" с" ~ л > Ог ° ТЕОРЕМА 2.3. Класс помеченных сетей Петри строго мощнее класса конечных автоматов, не сравним с классом магазинных автоми'ов и строго менее мощен, чем машины Тьюринга. 2.8. Заключение В данной главе было введено понятие грамматики как конечного механизма задания бесконечного множества цепочек. Одним из наиболее простых и одновременно мощных механизмов задания языков является порождающая грамматика Хомского. Важнейшей идеей Хомского является то.

что для задания языка конечным образом необходимы объекты„отсутствующие в языке, которые по отношению к символам языка являются ибсгггракиггы.1ггг кагггегориялт, сггмволамгг метаязыка, которые пеоохойто тесиггг дато.'гните.гыго. когда чы еоворгглг о языке. Введение при задании языка таких абстрактных категорий, представляющих отдельные конструкции языка, а также правил, определяющих, как каждая конструкция может быть построена из символов языка (терминальных символов) и имен конструкций (нетерминальных символов) и составляет, по Хомскому, способ описания языка. Грамматику Хомского образует конечное множество таких правил.

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

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

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

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

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