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

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

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

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

Из уравнения (2.2.15) видно, что каждая цепочка, принадлежащая 1,(Л,), принадлежит 1, (А,). Это вытекает из того, что любую цепочку ю ~ а,;а;|а|„ можно представить в виде югн! ... |в,„, где ш,Еа,|, и„,~да|А и ю,„..., ш ! Е ага Таким обРазом, цепочка ш ЯвлЯетсЯ конкатенацией последовательности цепочек, каждая из которых принад- |ЗО и|=го, ... |о„, где для некоторой последовательности чисел выполнены условия ю„, ~ а; в иа|ьб а;;„для 1 в-.й<т и 1,= !. Так как у — решение, то д(Х ) =ахи 11а||у(Х!) В... 0а;„д(Х„) для всех 1 В частности, а,,~д(ХА) н ауьй(ХА) с.=д(Х ) для всех 1 и й.

Тогда гв бу(Х! ), гв„,го ей(Х;,) и т. д. В конечном счете получаем, что цепочка го=|о,ш, ... |о„принадлежит множеству у(ХА) =у(Х!). Пришли к противоречию, так как предположили, что ю не принадлежит д(Х|). Таким образом, заключаем, что ) (Х!)~у(Х!) для всех !'. Отсюда непосредственно следует, что 1 — наименьшая неподвижная точка системы 1г. (З Лемма 2.4. Пусть (гл и |гл — системы уравнений до и после одного применения шага 2 алгоритма 2.1. Тогда Ц! и |г., имеют одну и ту же наименьшую неподвижную тансу.

Доказательство. Допустим, что на шаге 2 рассматривается уравнение .4, =-аи+аиА|+ аг, !+!А|+! ~-... + х;„.4„ лежит множеству, обозначаемому некоторым коэффициентом системы (г„и индексы этих коэффициентов удовлетворяют условию леммы 2.3. Аналогично для цепочек, принадлежащих аА|а,*|а|,. Так можно показать, что ),(АА) =1|(А,). Чтобы доказать обратйое включение, предположим, что гвй1|(АА). Тогда по лемме 2.3 ш — ш, ... |в„, где для некоторой последовательности ненулевых индексов 1„..., 1„выполнены условия гв„Еа! о и горба! ! для 1~р(гп и 1,=-/.

Можно И3 однозначно сгруппировать цепочки юг так, чтобы былогв=у!...у„ где у𠆆и! ... ю, и (1) если 1|(!', то в=1+1, (2) если 1|> |, то з выбирается так, чтобы Все 1,+„..., 1, были равны ! и 1,э,на П Отсюда следует, что в любом случае у — коэффициент при А! г л+! в уравнении для Л|, системы 9„и, значит, гвС(,(Л ). В итоге получаем, что 1|(А,) — ~,(ЛА) для всех 1. (З Лемма 2.5. Пусть 1;|, и |;|,— системь! уравнений до и после одного применения шага 5 алгоритл|а 2.1. Тогда |г! и (ге имеют одну и ту же наимень|иую неподвижную точку. Д о к а з а т е л ь с т в о.

Доказательство аналогично доказательству леммы 2.4 и остается в качестве упражнения. (З Теорема 2.1. Алгоритл! 2.! находит наименьшую неподвижную точку стандартной системы уравнений. Доказательство. После того как шаг 5 применен для всех |, все уравнения принимают вид Х,=ао где а; — регулярное выражение в алфавите г. Ясно, что отображение Г, для которого 1(Х,) =-а|, и будет наименьшей неподвижной точкой этой системы. 2.2.2. Регулярные множества н лрвволинейные грамматннн Покажем, что язык определяется праволинейной грамматикой тогда и только тогда, когда он является регулярным множеством. Чтобы доказать, что для каждого регулярного множества существует праволинейная грамматика, начнем с некоторых наблюдений.

Пусть 2 — конечный алфавит. Лемма 26 Множества (1) 8 (В)(е) и (111)(а) для всех акт явля|отея праволинейными языками. Док аз а тел ь ство. (1) 6=((О), А, З, 3) — праволинейная ГРамматика, для которой (. (6) = |д'. 131 ГЛ. й. ЭЛЕМЕНТЫ ТРОРИИ ЯЗЪ|КОЗ гл. РВГуляРные мнОжестВА, их РАспозиАВАние ипОРОждение (й) 6=((5), гь (5- в), 5) — праволииейная грамматика„для которой Е (6) =(г).

(5 а) 5) — праволинейная грамматика, д, которой Е(6.) =-(а). Д Лемма 2.7. Если Е, и Г.,— праволингйныг языки, то языки (1) Е, 0 Е„(!1) Е4Е, и (!!!) 1:, тоже праволингйныг. Доказательство. Так как языки Е, и Е, праволиней- ные, можно считать, что существуют праволинейпые грамматики 64=-(1Ч„Е, Р„5,) и 64=(1~„Е, Р„5,), для которых Е(64)=Е4- и Е(6,) =Е,. Будем также предполагать, что алфавиты Х, и 7т, не пересекаются. Так как иетерминалы грамматики можно как угодно переименовывать, это предположение ие приведет к потере общности. (!) Пусть б,— праволинейная грамматика (Н,(1~т,()(5,), Е, Р,ЦР,()(5,-5,15,), 5,) где 54 — новый нетерл4ииальный символ, не принадлежа1ций ни Н„ ии )А(,.

Ясно, что Е (6,) = Е (6„) 0 Е (6,), так как для каждого вывода 54=:;>о,ш существует либо вывод 54~~о,ш, либо вывод 54=>о+',а4, и обратно. Так как 6,— праволинейная грамматика, то Ь(64)— праеолинейный язык. (Д) Пусть 6, — праволииейная грамматика (4дд!1)А)„ Е, Р„ 5,), в которой Рд определяется так; (!) Если А — хВ принадлежит Р„ то А - хВ принадлежит Р,. (2) Если А — х принадлежит Р„то А- х5, принадлежит Р4. (3) Все правила из Р, принадлежат Р,. Заметим, что если 5, =Фо, ш, то 5, «>~о, и45„а если 54 —,до,х, то 5, =О~„х.

Таким образом, Е (6,) Е (6,) «Е, (6,). Предположим теперь, что 5,=->о,и4. Так как в Р4 цет правил вида Л вЂ” х, которые попали туда из Р„то этот вывод можно записать в виде 5,=:;>в,х5, =-~~о, ху, где и4=-ху и все правила, используе- мые в выводе 5,=>о,х5„попали в Р, с помощью шагов (1) и (2). Следовательно, должны быть выводы 54~~о,х и 5,,4,у. Отсюда Е(6,) «Е(6,) 4. (6,). Итак, ь(64) =ь(6,)4.

(6,), (ш) Пусть грамматика 6, =д (Нд П (54), Е, Р„5,) такова, что 54 не принадлежит 11„а Р, строится следующим образом: (1) Если А — хВ принадлежит Р„то А — хВ принадлежит Рд, (2) Если А — х прннадлсжиг Р„то А — х5, и А — х принадлежат Р,. (3) 5„5,!е принадлежат Р,.

133 Доказательство того, что 54 ~в, Х,5, — >о,х4Х45, =>о, ° . 4 4- Х4Х4 Хд 4~4 Фо Х4Х4 Хд 4Хд ТОГДЭ И ТОЛЬКО ТОГДЕ когда 5,=>в, х„5, г>с,х,,..., 5,=>о', хд, оставляем в качестве упражнения. Отсюда заключаем, что Е(6,)- — -(Е(6,))'. Д Теперь можно доказать, что класс праволипейных языков совпадает с классом регулярных множеств. Теорема 2.2. Язь4к является регулярнь4л4 лгножгствол4 тогда и только тогда, когда он праволингйный. Д оказ а тельство. Необходил4ость. Эта часть доказательства получается из лемм 2.6 и 2.7, если воспользоваться нидукцией по числу шагов построения регулярного множества, где один шаг — это применение одного из правил, определяющих регулярные множества. Досталпочность.

Пусть 6 =-(Х, 5, Р, 5) — праволинейиая грамматика и Н=(А„..., А„). Можно построить стандартную систему уравнений с регулярными коэффициентами, неизвестными которой служат нетермнналы из Х. Уравнение для А, имеет вид А;=-4хгд-! анЛ4-1-... +аьдА„, где (!) а4,=ш,+... -1-4оь если А; и~,! ... !Е44 — все правила с левой частью А, и правой частью, состоящей только из терминалов (если й=О, полагаем аы-— — 8); (2) для 1 > О и;, =- х, +...

+х„, если А,. — х,АГ (... ! х Ау— все правила с левой частью Л; и правой частью, оканчиваю- ЩейсЯ на Лл (как и Раньше, если т= — О, то ы;, = 421). С помощью леммы 2.3 можно показать, что Е(б) =Г'(5), где à †наименьш неподвижная точка построенной системы уравнений (это предлагаем в качестве упражнения). Но алгоритм 2.1 строит 1(5) как язык, обозначаемый некоторым регулярным выражением. Таким образом, Е (6) — регулярное множество. Д Пример 2.10.

Пусть грамматика б определяется правилами 5 — ОА) 15!е А — ОВ) 1А  — 05 !1В Тогда соответствующая система уравнений получается из системы примера 2.9, если Х„Х„Х, заменить соответственно иа 5, А, В. Е(6) — это мнолсество цепочек, в которых число нулей делится на 3. Нетрудно показать, что это множество обозначается регулярным выражением (2.2,3). Д 133 ГЛ. 2. ЭЛЕМЕНТЫ ТЕОРИИ ЯЗЫКОВ 2,2. РЕГУЛЯРНЫЕ М110ЖЕСТНА, ИХ РАСПОЗНАВАНИЕ И ПОРОЖДЕНИЕ 2.2.3.

Конечные автоматы Мы рассмотрели три способа определения класса регулярных множеств: (1) класс регулярных множеств — наименьший класс языков, содержащий множества йу, (е) и (а) для всех символов а и замкнутый относительно операций объединения, конкатенации и итерации; (2) регулярные множества †множест, определяемые регулярными выражениями; (3) регулярные множества — языки, порождаемые праволинейными грамматиками. Теперь опишем четвертый способ их Определения с помощью конечных автоматов. Конечный автомат является одним из про- СтсйШИХ РаСПОЗНаВатЕЛЕй.

яБЕСКОИЕЧНОй" ПаМЯтИ У НЕГО НЕт. Обычно конечный автомат состоит только из входной ленты и управляющего устройства с конечной памятью. Здесь мы позволим управляющему устройству быть @едетерминированным, но входная головка будет односторонней, Фактически мы потребуем, чтобы входная головка сдвигалась вправо на каждом такте '). Двусторонний конечный автомат рассматривается в упражнениях. Мы определим конечный автомат, задав конечное множество его управляющих состояний, допустимые входные символы, начальное состояние и множество заключительных состояний, т. е, состояний, указывающих, что входная цепочка допускается. Задается также функция переходов состояний, которая по данному „текущему" состоянию и „текущему" входному символу указывагег все возможные следующие состояния. Подчеркнем, что это устройство — недетермииированиое в теоретико-автоматном смысле, т.

е. оно переходит во все свои следующие состояния, если угодно, дублируя себя так, что в каждом из возможных следующих состояний находится один экземпляр этого устройства. Недетсрминированный автомат допускает входную цепочку, если какой-нибудь из его параллельно работающих экземпляров достигает допускающего состояния. Недетермииизм конечного автомата ие следует смешивать со „случайностью", при которой автомат может случайно выбрать одно из следующих состояний с фиксированными вероятностями, но этот автомат всегда имеется только в одном экземпляре. ') Напомним, что пс определснню одяпсторонннй распоанааатель нс сдвигает свою нкпдную Головку влево; ояа, однако, может оставаться неяпданжнпй ,а течение такта.

Если ппанплнть конечному автомату оставлять свою акпдную гплопку неподанжнпн, ягп не даст ему возможности распознать наык, не рас. ппапанасмый обычным консчнын автоматом. 134 Такой автомат называется „вероятностным" и здесь изучаться не будет. Дадим формальное определение иедетерминироваиного конечного автомата. Определение. Недетерминированный конечный автомат — это пятерка М =-(О, гь 6, у„г), где (1) сг — конечное множество состояний; (2) Х вЂ” конечное множество допустимых входных символов; (3) 6 — отображение множества 9х Б в множество У Д), определяющее поведение управляющего устройства; функцию 6 иногда называ1от функцией переходов; (4) д, ~ ь1 — начальное состояние управляющего устройства; (5) г" с=.

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

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

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

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