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

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

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

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

х, Ь,(иг) —..у. г1 Следствие. Перевод нагнется простым СУ-переводом тогда и в«олька тогда, когда он характеризуется КС-языком. Ю Для некоторых переводов можно показать с помощью теорем и 3 4, что они не регулярные нли же ие простые СУ-переводы. Легко показать, что область определения и множество значений любого Су-перевода принадлежат классу КС-языков. жако есть и такие СУ-переводы, что их область определения множество значений регулярны, но сами они не определяютс ются ни конечным преобразователем, ни даже МП-преобразователем, 271 Гл.

3. теоРия пВРГВОдА к2, СВОИСТВА СИИТАКСИЧЕСКИ УПРАВЛЯЕМЫХ ПЕРЕВОДОВ Пример 3.!6. Рассмотрим простую СУ-схему с правилами 5 — ОЯ, ЯО Я- 15, 51 Я- е, е Покажем, что т(Т) =((ш, а и)) ше (О, 1)*) не является регулярным переводом. Допустим, что перевод т(Т) регулярен. Тогда найдется регулярный язык 1., сильно характеризующий т(Т).

Без потери общности можно предположить, что 1, ы (О, 1, а, Ь)", а соответствующие гомоморфизмы удовлетворяют условиям Ь, (0) = О, Ь,(1) =- 1, Ь, (а) — Ь,(Ь):= е, Ь., (0) =- Ь, (1) =- е, Ь, (а) = О, Ь,(Ь) =-- 1. Вслн язык 1. регулярен, он допускается конечным автоматом М =(!1, (О, 1, а, Ь), 6, д„, г') с в состояниями для некоторого в)1. В 1. должна найтись такая цепочка г, что Ь,(г) =0'1' и Ь (г) =1'0', поскол ку Рябе (О 1, 1 0 ) Е т(Т). Все нули в г предшествуют всем единицам, а все символы Ь предшествуют всем символам а. Таким об а- разом, первые з символов цепочки г могут быть только нулями или символами Ь.

Состояния, которые пройдет автомат М, прочитав первые з символов цепочки г, не могут все быть разными, так что монсно писать г= ивы, причем (д„г) ! — *(д, Рш) (д„ш) ! — *(р, е), где ~ив|~в, ) в~ .»! и р ~Р. Тогда поит~1.. Но й,(иввш) =-0'''"!' н Ь,„(иввгв) = Р" "0', где т и п не равны одновременно нулю. Поэтому (О"'"1', 1' "0') ет(Т). Мы пришли к противоречию, так как предположили, что перевод т(Т) регуляреи. П Пример 3.!7. Рассмотрим СУ-схему Т с правилами Я вЂ” А"'сА ">, А'"сАВО А- ОА, ОА А- 1А, 1А А — е, е Здесь т(Т) =((исв, Оси) (и, В с(0,1)*). Покажем, что т(Т) не является простым СУ-переводом. Допустим, что 1.— КС-язык, сильно характеризующий перевод т(Т).

Можно считать, что Л' =(с', О', 1') 1.:-((О, 1 ) Л')* ,— соответствующие гомоморфнзмы. Для любых и, о ~ (О, 1)" найдется такая цепочка г,,~1., что Ь (г ) = — исо н Ь (г )== Рассмот м три отдельно два случая, связанные с расположением символов с и г' в цепочках г„,. Слчай1: Д у ": Для каждой цепочки и существует такая цепочка в, что с предшествует с' в г„. Пусть !т — регулярное мно- 772 (О 1 О, 1')'с (О, 1, О', 1')*с' (О, 1, О', 1')".

Тогда 1. П)7— КС язык, поскольку класс КС-языков замкнут относительно пересечения с регулярными множествами. Заметим, что множео 1, ПТС состоит из тех цепочек Языка 1., в котоРых с пРедшествует с'. Пусть М вЂ” конечный преобразователь, который до тех пор, пока не прочтет с, передает на выход нули и единицы пропуская символы со штрихами. После чтения символа с ои не выдает ничего, пока не достигнет с'. После этого М печатает на выходе О, прочитав на входе 0', и 1 вместо Г, пропуская нули н единицы.

Тогда язык М (1. () )7) должен быть КС.языком, так как класс КС-языков замкнут относительно конечных преобразований, но в данном случае М (1 и )7) = =. (ии!Иб(0, 1)*), а это, как показано в примере 2А1, не КС-язык. Случай рл Для некоторой цепочки и не существует ни одной цепочки в, в которой символ с предшествует с' в г„„. Тогда для каждой цепочки и можно найти такую цепочку и, что с' предшествует с в г„„.

Рассуждая, как в случае 1, можно показать, что если бы язык 1. был контекстно-свободным, то и язык (ю)об(0, 1)*) был бы тоже контекстно-свободным. Зто рассуждение мы оставляем в качестве упражнения. Итак, перевод т(Т) пе сильно характеризуется никаким КС-языком и, следовательно, ие является простым СУ-перево- ДОМ П Пусть Р, обозначает класс регулярных переводов,,9,— класс простйх СУ-переводов и" Т вЂ” класс СУ-переводов. Из приведенных выше примеров вытекает, что справедлива следующая теорема. Теорема 3.5. Я, ~~Я, ~~вт .

Доказательство. Т,: — Р' по определению, е,: —,'Г„ так как конечный преобразователь — частный случай МП-автомата. Из примеров 3.16 и 3.17 следует, что включения собственные. П 3 3.3. Свойства простых СУ-пврвводов С помощью понятия характеризующего языка можно доказать аналоги многих теорем о нормальных формах, приведеннь|х в равд, 2.6, Здесь мы докажем два из этих результатов, а остальные оставим в качестве упражнений.

Первый из пих— аналог теоремы о нормальной форме Хомского. где Теорема 3.6. 17усть Т вЂ” простой СУ-перевод. Тогда Т ==я(Т,), е 71=(Ы, Л, Л, Я, 3) — простая СУ-схема, у которой каждое пдавилс иэ )7 имеет один иэ следуюи(их видов: гл. з. тео~ия ~егеводл (1) А — ВС, ВС, где А,В и С вЂ” (не обязательно различные) нетерминолы из Х, (2) А — а, Ь, где один из символов а и Ь есть е, а другой принадлежипг Х или Л соответственно, ( ) . е, е, если (е, е) Е Т, причем В не встречается в пра- 3 В вых частях правил. До к а з а те л ь с т в о, Применить конструкцию теоремы 3.4 к грамматике в нормальной форме Хамского. гл Второй результат — аналог теоремы о нормальной фо ме Грейбах.

— о форме Теорема 3.7. 77усгпь Т вЂ” простой СУ-перевод. Тогда Т=т(Т,), где Т, =(Я, 2', Л, Я, В) — простая СУ-скелга, у которой каждое правило из 77 имеет вид А — аог, Ьа, где абХ", один из символов а и Ь есть е, а другой принадлежит В или Л (с тем же исключением, как в случае (3) предыдуи(ей теоремы). Дока за тельство. Применить конструкцию теоремы 3.4 к грамматике в нормальной форме Грейбах. Отметим, что в теоремах 3.6 и 3.7 нельзя сделать так, чтобы одновременно было аЕ В н ЬсЛ. Тогда перевод сохранял бы длину слова, а для простых СУ-переводов это не всегда так, 3 э.

сВОйстВА сиптАксически уггРАВляемых пеРеВОдОВ Лемма З.б. доказательство. Легко показать, что область определения ения СУ-перевода порядка 1 является линейным КС-языком. По теореме 3.6 каждый простой СУ-перевод имеет порядок 2 и к ждый КС-Язык слУжит областью опРеделениЯ пекотоРого пРостого СУ-перевода (хотя бы тождественного, для которого этот язык — область его определения). Так как линейные яаыки образуют собственный подкласс КС-языков (упр.

2.6.7), то включение Г, в Г, собственное. Для СУ-схем существугат разные нормальные формы. 7г4ы утверждаем, что из СУ-схемы, как и из КС-грамматики, можно устранить бесполезные нетермипалы. Кроме того, для СУ-схем существует нормальная форма, отчасти похожая на нормальную форму Хамского, а именно: все правила можно привести к такому виду, что каждая правая часть либо целиком состоит яз нетерминалов, либо не содержит ни одного нетермииала. Определение.

Нетерминал А в СУ-схеме Т=(М, Х, Л, Я, Я) называется бесполезным, если либо (1) нет таких хсзр' и ус Л', что (1 А) ~* (х у) (2) ни для каких гг,, сг,б(Мц ~)* и р~ ггг с()ч)11 Л)* не суще СтауЕт ВЫВОда (Я, Я) =>* (а Аа, Ргг'Чг). 3.2.3. Иерврхмв СУ-переводов 1'лавный результат этого раздела состоит в там, чта для произвольных СУ-перевадов нет аналога нормальной формы Хамского. За одним только исключением, всякий раз, когда мы увеличиваем число нетерминалов, допустимое для правых частей правил СУ-схем, соответствующни класс СУ-переводов становится более пгироким.

Попутно мы докажем и другие интересные свойства СУ-переводов. Определение. Пусть Т =-((ч, Х, Л, )7, Я) — СУ-схема. Б р ть, что Т имеет порядок й, если ни в одном правиле А — и, р из )7 цепочка и (а следовательно, и ()) не содержит более й вхождений нетерминалов. Будем также говорить, что перевод т(Т) имеет порядок й. Пусть à — класс всех СУ-переводов порядка й. Очевидно, что Г, с: — Г„т... ' .Гг с: —.... Мы покажем что каждое из этих включений собственное, за исключением того, чта ~,=Г,. Для этого нам понадобится ряд предварительных результатов. 274 Лемма 3.6. Каждый СУ-перевод порядка )г определяется СУ- схемой порядка й, не содержащей бесполезных нмперминалов. Д о к а з а т е л ь с т в а. Упражнение, аналогичное теореме 2.13.

Лемма 3.7. Каждый СУ-ггеревод порядка й=э 2 определяется такой СУ-схемой Т,=-(Ь1, Х, Л, )7, Я), что если А- а,(1 пРи надлежит )7, то либо (1) сг, ~~Ь(", либо (2) Й~*, И Кролге того, Т, не содержит бесполезных нетерминолов. Доказательство. Пусть Т, =-. (Ь1', Х, Л, Я',Я) — СУ-схема, ие содержащая бесполезных нетерминалов, и т (Т,) = Т. ПостРоим )7 по )с' следующим образом. Пусть А — ~- х„Вгх,... Вьк„УдСгУд...

С„УА — правило из )с', причем й ) О. Пусть и — такая перестановка ~исел 1, ..., п, что нетеРминал Вг соответствУет нетеРминалУ ГЛ 3. ТЕОРИЯ ПЕРЕВОДА 3 3 СВОЙСТВА СИНТАКСИЧЕСКИ УПРАВЛЯЕМЫХ ПЕРРВОДОВ С,и(. Введем новые нетерминалы А', Р„..., Р» и Е„..., Е» и заменим это правило правилами А Е,А', Е,А' Ео ха уо А' — Р,...Р», Р»...Р», где Р;=Р.;,а для 1(1»й р; — В;Е«, В;Е« для 1(((й Е( — «.Х„упа] дЛя 1~»1»-й Например, если правило имеет вид А — 'хоВ1х1Взх,Вохз, УаВзу,В,У,В,Уз то п=(2,3, !) и оно заменяется правилами А — Е3.4, Еол Ео «ха«уо '1' †« Р1РЗР», РзР1Р3 Р,— В(ЕВ В;Е( длЯ 1=1, 2, 3 Е, х„уз Е,— х„у, Ео — хо, у, Так как Р( и Е; для каждого ( имеют только по одному правилу, легко видеть, что все новые правила в совокупности действуют так же, как правило, которое онн заменяют.

Правила из )7', не содержащие нетерминалов в правых частях, прямо (юмещаются в )7. Обозначим через 13 множество 14' вместе с новыми нетерминалами. Тогда т(Т,)=т(Т,) и Т, удовлетворяет условиям леммы. Лемма 3.8. Та=ага. Д о к а з а т е л ь с т в о. В силу леммы 3.7 достаточно показать, как заменить правило вида А — В,В,В3, С,С,С, двумя правилами, у которых каждан компонента правой части содержит два нетерминала. Пусть и †перестанов, при которой В, соответствует С а). Таких перестановок может быть шесть. В каждом случае можно ввести новый нетерминал Р и заменить интересующее нас правило двумя правилами, как показано на рнс. 3.6. Легко проверить, что в каждом случае новые правила в совокупности действуют так же, как старое.

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

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

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

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