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

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

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

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

К настоящему времени уже очевидна идея порождающих грамматик Хомского. Терминальные символы — это символы, из которых строятся цепочки языка, порождаемого грамматикой. Нетерминалы — это вспомогательные символы, обозначающие конструкции„категории, понятия языка. Эти символы необходимы, когда мы рассуждаем о языке, но в цепочках языка эти символы не встречаются. Например, нетерминал Г' в примере 2.16 обозначает конструкцию <группа сказуемого>, он нужен для задания языка, но этот символ не встречается ни в одной цепочке языка.

Из начального нетерминала, представляющего самую общую конструкцию грамматики, порождаются все цепочки языка. Ясен и метод, с помощью которого грамматика задает язык: для языка определяется несколько абстрактных конструкций (нетерминалов), и правила порождения определяют, как каждая конструкция или группа конструкций и символов языка может быть построена из других конструкций и символов языка. Вычисление смысла предложения языка можно выполнить с помощью приписывания слисювих хсуакигерисиго,. нетерминалам по дереву вывода этого предложения в задающей язык порождающей грамматике.

Языки и грамматики 53 «ИДЕНТИФИКАТОР>-+<БУКВА> ~ <ИДЕНТИФИКА ГОР><БУКВА> ~ <ИДЕНТИФИКАТОР> <ЦИФРА> Иногда именно нетерминалы записываются без скобок, а терминальные сим- волы выделяются апострофами, например: ехргекяоп-+ехрге~яоп 'Т ехргеьяоп " .ехргеьяоп Рассмотрим в качестве простого примера построение порождающей грамма- тики для простейшего языка программирования, который мы назовем Милан (от англ. — М1ш!апр~аре). Пусть программа на Милане записывается в сле- дующей форме: "есг1п = ~еаза и: = геаФ , и11е гВ~п с(о 1й' гг»и Е)1еп т: =- т-и е1яе и: = и-гп; ,'гл~е (гп) Ьед1п Ь еисми К!В;1, 1:= Е!кМ1е В с1о Ь ! 1~ В 1Ьеп 1, ! 1е В ег1еп г- е1ае Ь ! игл ~е (Е) Е0Е =! !<! т ! с ~ (е) б ! 1 б ! 1 ц!Сц >!<!> ! Е+Е ! Е-Е 1 Е*Е ! Е/Е ! геас$ :1остроенная грамматика языка Милан обладает рядом недостатков, которые удут выявляться и устраняться впоследствии.

В частности, эта грамматика ".вусмысленная, и приведенная программа нахождения наибольшего общего Эта программа вычисляет и выводит значение наибольшего общего делителя двух введенных натуральных чисел. Подобных программ в языке Милан чожно построить много (бесконечное количество), используя только опера- торы присваивания, условный и цикл. Построим грамматику зтого языка. Для обозримости обозначим имена конст- рукций, как и раньше, заглавными буквами: П вЂ” <ПРО! РАММА>, <СПИСОК ОПЕРАТОРОВ>, Я вЂ” <ОПЕРАТОР>,  — сУСЛОВИЕ>, Д— <ЗНАК ОТНОШЕНИЯ>, Š— сВЫРАЖЕНИЕ>, 1 — <ИДЕНТИФИКАТОР>, С' — <КОНСТАНТА>. Буквы и цифры не будем различать, их конечное чис- .1о.

Обозначим их терминалами 6 и ц. ! рамматика языка Милан может быть записана так: Языки и грамматики 11ростейший такой алгоритм, который может быть реализован на машине Тьюринга, состоит просто в недетерминированной проверке возможных подстановок правых частей продукций вместо подцепочек промежуточной цепочки вывода, совпадающих с левыми частями продукций. Доказано, что ничего лучшего для общей проблемы распознавания синтаксической структуры цепочки придумать нельзя. Однако для такого алгоритма мы не можем знать при произвольной входной ленте машины Тьюринга, остановится ли эта машина (либо в заключительном состоянии„либо из-за невозможности применения продукции), и не можем оценить время работы алгоритма.

Таким образом, оказывается, что в общем случае задача синтаксического анализа не может оыть эффективно решена в классе модели порождающей грамматики Хомского. На этом можно было бы завершить рассмотрение этого подхода к трансляции языков„считая его неудачным и неприменимым на практике, поскольку из этого факта, казалось бы, следует невозможность построения общей теории и необходимость разработки своего индивидуального алгоритма синтаксического анализа для каждого конкретного случая. Однако. как это часто бывает в науке, проблемы, которые трудно или даже невозможно решить в общей постановке, эффективно решаются для частных постановок, Более того, именно частные постановки этих проблем, как оказывается. покрывают подавляющее большинство возникающих на практике важных случаев.

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

Хомский определил четыре типа (семейства) грамматик в зависимости от того, какой вид имеют левая и правая части правил вида о,— +Р. Хомский ввел четыре различных семейства языков, порождаемых. этими грамматиками, и для каждого семейства впоследствии были найдены классы абстрактных преобразователей (автоматов), которые могут осуществить соответствующее преобразование, а именно по заданным цепочке а и грамматике 6 из этого класса построить вывод этой цепочки в б. Чем больше ограничений налагается на вид правил в данном подклассе грамматик, тем более эффективным оказывается алгоритм синтаксического анализа для этого подкласса.

В табл. 2.1 представлены четыре типа грамматик Хомского и показан для каждого из этих четырех типов грамматик вид допускаемых правил, название этих классов и по- Глава 2 рождаемых ими языков, а также абстрактное устройство, способное реализо- вать общий алгоритм распознавания. Т а б л и ц а 2. 1 . Подклассы грамматик иерархии Хомского Вид правил Распознающие абстрактные устройства Название грамматик ~ Машины Тьюринга Неограниченные грамматики Свободные ~аггее) грамматики Линейно-ограниченные автоматы Контекстно-зависимые грамматики Неукорачивающие грамматики Грамматики непосредственных составляющих уАб — вафд НС-грамматики Контекстно-свободные грамматики ~ КС-грамматики ты с магазинной Автоматные грамматики А-грамматики Регулярные грамматики :1-~цД Л-+а ые автоматы Грамматики с конечным числом состояний 2.5.1.

Грамматики типа О Класс языков, порождаемых грамматиками типа О, совпадает с классом всех рекурсивно-перечислимых множеств слов, поэтому он может быть назван классом рекурсивно-перечислимых языков. Известно, что класс рекурсивно- перечислимых множеств слов распознается машинами Тьюринга. В грамматиках типа О на левую и правую части продукций не накладывается никаких ограничений.

Цепочки а и Р в правилах грамматики а — +Р могут быть любыми. Единственное ограничение — левая часть и не может быть пустой цепочкой. Иными словами, запрещается порождать пе ало из пичего в любом месте промежуточной цепочки вывода. Обычно а включает по крайней мере один нетерминал, од ко Хомский не исключает и возможность продукций, в которых терминальн цепочка заменяется на другую терминальную, как, например, аЬ-+Ба в грамматике 6~. Очевидно, что все рассмотренные нами грамматики принадлежат этому общему классу — типу О грамматик Хомского. Как уже говорилось, общего алгоритма распознавания для этого типа грамматик не существует.

Языки и грамматики 2.5.2. Грамматики типа 1 В грамматиках типа 1 (в соответствии с табл. 2.1 их еще называют контекстно-зависимыми грамматиками, грамматиками непосредственных составляющих или НС-грамматиками) продукции имеют вид уАб — +7ро. Здесь А — некоторый нетерминал, у и о — произвольные цепочки, фактически образующие контекст, в котором нетерминал А может быть заменен цепочкой 1э (с дополнительным ограничением, что р не мо>кет быть пустой цепочкой). Очевидно, что по сравнению с грамматиками типа 0 правила замены здесь более ограничены. Это значит, что не все грамматики типа О являются грамматиками типа 1 (хотя, конечно, бсе грамм~ц.ики типа 1 являются грамматиками типа О). Например„грамматики бд с правилом аЬ вЂ” +Ба и 6~, с правилом С — +ВС являются грамматиками типа О, но не грамматиками типа 1.

Рассмотрим, однако, грамматику С~„. порождающую язык Е~, = ~п о"с" ~ и > 0~: 5 — +аЯУС ~ аЬС С — +ВС ЬВ-+И> сС вЂ” +сс Кроме правила С — «ВС все остальные продукции б<, удовлетворяют ограничениям грамматик типа 1. Действительно, две последние продукции разрешают замену нетерминалов только в конкретном контексте„и эти ограничения вытекают из существа идеи порождения цепочек требуемой структуры, а первые две продукции разрешают заменять нетерминал 5 цепочками независимо от контекста (т.

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

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

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

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