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

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

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

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

6.2.2. Постройте двухмагазинный анализатор, корректный для грамматики 6а. 6.2.3. Какие из следующих грамматик являются грамматнкамн Колмерауэра? (а) б, (б) Я вЂ” аА ) ЬВ А. ОА! ~01 В- ОВ11|011 (в) Я- аАВ!Ь А ЬЯВ !'а В- а " .2.. 6..4. Покажите, что если грамматика 6 †приведенн и обратимая и и () р*рв' = 8, р'р П )|Х'= хэ', то онз однозначная. 555 6.2.5. Покажите, что каждая обратимая регулярная грамма- тика является грамматикой Колмерауэра. 6.2.6. Покажите, что каждая обратимая грамматика в нор- мальной форме Грейбах, для которой р'|А П )А =.. 8, является грам- матикой Колмерауэра.

6.2.7. Покажите, что двухмагазинный анализатор нз при- мера 6.12 корректен для соответствующей грамматики. 6.2.8. С помощью теоремы 6.6 покажите, что каждая грам- матика простого предшествования является грамматикой Колме. рауэра. 6.2.9. Докажите лемму 6.9. 6.2.10. Докажите лемму 6.10. 6.2.11. Пусть б — грамматика Колмерауэра с отношенияме предшествования Колмерауэра, для которой индуцируемый ек двухмагазинный анализатор не только анализирует каждую це. почку из Е(6), на также корректно анализирует каждую вы.

водимую цепочку грамматики 6. Покажите, что (а) ры |), (б) РХ+ ы<, (в) р+р:-з, (г) Р+)АХ| ~ с () >. "6.2.12. Пусть 6 — грамматика Колмерауэра и ч — подмноже ство отношения р )А?.+ — р+р — )АХ+. Покажите„что отношени| = |А, ( =- рер),' — ч и > = Р'р 0 ч — это отношения предшество вання Колмерауэра, позволяющие анализировать любую выво димую цепочку грамматики 6. 6.2.13. Покажите, что каждый двухмагазинный анализато1 расходует на обработку цепочки длины и время 0(п). *6.2.!4. Покажите, что если язык Е определяется граммати кой Колмерауэра, то и ЕЯ определяется такой грамматикой.

*6.2.1о. Является ли каждан (1,!)-ОПК-грамматика грам матикой Колмерауэра? *6.2.!6. Покажите что существует такой язык Е, определя я емый грамматикой Колмерауэра, что ии Е, ни Е ие являет|и детерминированным КС-языком. Заметьте, что использававшийс. в качестве примера язык (|оЬач!(|о!=и) не детерминированный хотя его обращение — детерминированный язык. ') Это утверждение — частный случай леммы о.7; оно включено тольк Лля полноты. 55 ПРИЛОЖЕНИЕ 55' Гл. 6.

АлГОРитмы РАЗОРА с ОГРАниченными возвРАГАми е8.2.17. Говорят, что двухмагазинный анализатор Т распознает область определения отношения т(Т) независимо от того, связан ли как-нибудь выдаваемый им „разбор" с входной цепочкой. Покажите, что каждый рекурсивно перечислимый язык распознается некоторым детерминированным двухмагазинным анализатором. Укаааниег Полезно сделать исходную грамматику неоднозначной. Олтк«эьипая проблема 8.2.18. Дайте характеристику класса КС-грамматик, однозначных или нет, для которых существуют детерминированные двухмагазинные анализаторы, индуцируемые непересекающимися отношениями „предшествования".

Замечания по литературе Грвммвтннн Колмервуэрэ и теорема 66 вперные были опубликованы в работе Колмерзуэра «1976[. Грэй и Хэррнсои [1969[ связэлн эти идеи с понятием множества знаменательных символов. Коэн н Чулнн [19711 рассмэтризвли 1й (й).схему виэлизэ, эффеитивно прнмсняюпгую возвраты '). х) См.

также рабопя Лаврова и Ордяна «1976[ я Ордянэ 11976«.-Прим. перев. В приложении даются синтаксические описания четырех языков программирования, среди них (1) простой язык, служащий базой расширяемого языка; (2) Снобол 4, язык для обработки строк; (3) ПЛ 360, машинный язык высокого уровня для вычислительных машин ИБМ 360; (4) РА«., язык, объединяющий лямбда-исчисление с операторами присваивания Эти языки выбраны потому, чта ани не похожи друг на друга. Кроме того, их синтаксические описания достаточно малы, чтобы ими можно было пользоваться в некоторых упражнениях на программирование, приведенных в нашей книге, не расходуя слишком многа времени (как человека, так и машины). При атом выбранные языки довольно сложны, и в них представлен целый букет проблем, с которыми приходится сталкиваться при реализации более традиционных языков программирования, таких, как Алгол, Фортран, ПЛ/1.

Синтаксические описания последних можно найти в следуюших источниках: (1) Алгол 60 в «Наур, 1963), (2) Алгол 68 в [Ваи Вейнгаарден, !9691, (3) Фортран в [АНС, 1966) (см. также [АНС Подкомитет, 1971«), (4) ПЛ11 в отчете Венской лаборатории ИБМ, Тм 26.096"). Г«Л.

СИНТАКСИС РАСШИРЯЕМОГО ЯЗЫКА Опишем язык, предложенный Ливенвортом 119661 в качествс базового языка, который можно расширять с помощью синтак сических макросов. Синтаксис этого языка будет представлеь т) См. более доступную книгу; Универсальный язык прогрзммвровэии~ РЬ/1, изд-во „Мир", М., 1968.— Прим. перез. пгилащенин и ! СИНТАКТ.И 1'а в виде двух частей. Первая состоит из правил высокого уровня, определяющих базовый язык.

Этот базовый язык можно использовать сам по себе как алгебраический язык с блочной структурой. Вторая часть описания — множество правил, определяющих механизм расширения, который позволяет описывать новые виды операторов и функций с помощью оператора макроопределения, порождаемого правилом 37. Это правило говорит о том, что частным случаем <оператора> может быть <макроопределение>, а оно по правилам 39 и 40 может быть либо <макроопределением оператора), либо <макроопределением функции>.

Правила 41 и 42 показывают, что каждое из этих макроопределений включает <макроструктуру> и (определение>. <Макро- структура) определяет форму павой синтаксической конструкции, а <определение) дает ассоциируемый с ней перевод. <Макро- структура> и <определенне> могут быть любыми цепочками, состоящими из терминальных и иетерминальных символов, но при условии, что каждый нетерминал, встречающийся в <определении>, должен также встречаться в <макроструктуре). (Это похоже на правило СУ-схемы, но здесь не налагается ограничений на то, сколько раз можно брать один иетермииал в транслирующем элементе,) Мы не даем явных правил для <макроструктуры> н (определения>.

На самом деле определение, говорящее о том, что каждый нетерминал из <определення) должен встречаться в (макроструктуре), нельзя выразить с помощью контекстно.свободных правил. Правило 37 указывает, что вместо <оператора> в выводимую цепочку можно подставить любой частный случай <макроструктуры), определенный в некотором макроопределении оператора. Аналогично, правило 43 позволяет любой частный случай <макроструктуры>, определенный в некотором макроопределении функции, подставлять в выводимую цепочку вместо (первичного). Например, оператор суммирования можно определить с помощью вывода (оператор) =Ф (макроопределение) => <макроопределение оператора> =о згласго <макроструктура> ЙеИпе <определение) епйпасго Возьмем в качестве <макроструктуры) цепочку зшп (выражение)ел вИЬ <переменная> -<выражение>ьч 1о (выражение>аа Перевод этой макраструктуры можно определить, взяв в качестве ее определения цепочку Ьей1п 1оса1 1; !оса! з; 1аса1 г; 1 — 0; <переменная> — <выражение>"', г: И <переменная) > <выражение>гв 1Ьеп Яо1о з; 1 -1+ <выражение>"', <переменная> <переменная>+ 1; да1а г; з: гезвИ 1 епб Тогда, если написан оператор япп а а'ИЬ Ь вЂ” с 1о д то до того, каи он будет проанализирован в соответствии с пра вилами высокого уровня, его надо перевести в цепочку Ьей)п !оса! 1; !оса! з; 1оса1 г; 1 -0; Ь -с; г: И Ь> д 1Ьеп да1о з; 1 -1+а; Ь -Ь+1; йо1а г; гк гезцИ 1 елей И, наконец, нетерминалы <идентификатор>, (метка> и (ко станта> †э лексические единицы (лексемы), которые мы оста ляем неопределенными, а читателя просим либо рассматрнва их как терминальные символы, либо определить нх, как еь нравится, и добавить эти определения.

Правила высокого уровня 1 <программа>— <блок> 2 <блок>— Ьей1п <необязат лакал идентифры> <список операторов> е 3 <необязат лакал идентифры> <необязат лакал идентифры> !оса! (идентификатор); ~ е 5 <список операторов>— (оператор>~<список операторов>; (оператор) 7 <оператор> <переменная> <выражение>!йо1о <идентификатор>[ И <выражение> 1Ьеп <оператор> ~ <блок> ~ гезвИ <выражени <метка>; <оператор> ПРИЛОЖБНИБ А 13 <выражение>- <арифмет выражение> <операция отнбшения> <арифмет выражение) ! (арифмет выражение) 15 <арифмет выражение>- (арифмет выражение) (опер типа слож) (терм) ! (терм) 17 <терм>- (терм) <опер типа умнож) <первичное>! <первичное) 19 (первичное> <переменная)!<константа>!!<выражение>1!<блок) 23 <переменная>- (идентификатор>!(идентификатор> !<Список выражений>) 25 <список выражений>— (список выражений), <выражение)!(выражение> 27 (операция отношения>- <!<!=!~!>!> 33 (опер типа слож)- +!— 35 <опер типа умнож>— Р!7 Механизм расширения 37 <оператор)— <макроопределение)!(макроструктура) 39 <макроопределение>- <макроопределение оператора)!<макроопределение функции) 41 <макроопределение оператора> япасго (макроструктура> деПпе <определение> епбп2асго 42 <макроопределение функции> 1гпасго (макроструктура> бейле <определение> епйпасго 43 <первичное)— <макроструктура> Замечания еп к !.

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

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

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

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