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

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

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

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

Так как А покрывает Х», можно выбрать ». 1 Т не с еств,ет чтобы получилась пара, нс входящая в Т». Итак, . ущ Теорема 3.8. За исключением я=2, для любого й'= 1 класс ,У'»91 собственно включает У». Доказательство. Случай 3=1 дока оказан в лемме 3.8. Остальные случаи охватываются леммой 3.1 . П Инте еспое практическое следствие теоремы мы .8 состоит в том, что, хотя кажется заманчивым сконструирова у р ть так ю систему построения компиляторов, чтобы входная р . я г амматика была В нормальной форме Хоыского, эта система н ема не в состоянии выполнить любую синтаксически управляемую транс ц т ансляцию, а более общая система смогла бы это сделать.

Однако п о похоже что иа практике СУ-переводы в худщем случае будут принадлежать классУ ЧТЯ (и, следовательно,,'Tя). УПРАЖНЕНИЯ "3 2 1 Пусть Т вЂ” СУ-перевод. Покажите, что существует такая константа с, что для каждой цепочки х из области его определения найдется такая цепочка у, что (х, у) ЕТ и (у)(с(~х)+1). *3 2.2. (а) Покажите, что соли Т,— -регулярный перевод и Тв — СУ-перевод, то Т, о Тв=((х, г) ~(х, у) ЕТ, и (у, г) ЕТ, для некоторой цепочки у) — СУ-перевод'). ) Часто зта операпия иад переводами, называемая яомпозиписй, запиовааевся с оп рапдами в обратном порядке, таи что в нашем определеиии аде быап бы писать Т,Б Т„а ие Т, 0 Тв. Рвы ие изменим нашей записи, та е к " еиа выглядит более естествеяиой.

2Е! ГЛ 3, ТЕОРИЯ ПЕРЕЗОДЛ ( ) окажите, что если перевод Т, простой, то перевод Т о Т, (б) П тоже простой, з д 1 3.2.3. а) П ... ( ) окажите, что если Т вЂ” СУ-перевод, то Т '— СУ-перевод. — — тоже (б) Покажите, что если перевод Т простой, то пе ево Т-ь тоже простой. *3.2.4. (Е) Пусть Т, — регулярный перевод, а Т, — СУ-пере. (б) Покажите, что если перевод Т, простой, то перево, 3 г д 3.2.5. Най, водов из ... Найдите сильно характеризующие языки для СУ- -пере- (а) примера 3.5, (б) примера 3.7, (в) примера 3.12. 3.2.6, Для СУ-перевода пз упр. 3.2.5 найдите язык, ха ак- теризующий его, но не сильно. 3.2. . .2.7. Дополните доказательство леммы 3.4. 3.2.8. Дополните доказательство случая 2 в примере 3.17.

3.2.9. Пок п остой С ажите, что каждый простой СУ-перевод оп р У-схемой, не содержащей бесполезных нет ределяется х нетермипалов. 3.2.10. Пусть Т, †прост СУ-перево а Т— пе ево . р д. Всегда ли Т, П Т, — простой СУ-перевод? од, а,— регулярный 3.2.11, Докажите лемму 3.6. 3.2.12. Докажите лемму 3.9. 3.2.13. П . Постройте СУ-схему порядка й, определяющую Тл, 3.2.14. Пусть Т-=(!>[, Х, Х, 7?, 5), где Х=-(5, А, В, С, Р), Х=-(а, Ь, с, д) и )? состоит из правил А- аА, ОА А е,е  — ЬВ, Ь  — «е,е С' сС, сС с- е,е  — Ы, с(В В е,е и одного из приведенных ниже.

Найдите наименьший порядок перевода т(Т) для каждого из этих дополнительиа!х правил: (а) 5-- АВСВ, АВСР (в) 5 — АВСР, ВВСА (б) 5 — АВСР, ВСВА (г) 5' — АВСР, ВРАС 282 З.З. ЛЕКСИЧРСКИй АНАЛИЗ Покажите, что если Т определяется ДМП-преобр 3 вателем, Т „льно характеризуется детерминированным КС- языком. 3 2,16, Верно ли обращение упражнения 3.2.15? 3 2 17. докажите следствия теорем З.З и 3 4 Замечания по литературе 'Понятие характеризуюиьего языка н результаты равд.

3,2.! и 3.2.2 взяты работы дхо и Ульмана [!999 б), а разультаты раза. 3.2.3 — из работы ахо и Ульмана [!969а). З.З. ЛЕКСИЧЕСКИЙ АНАЛИЗ Лексический анализ образует первый этап процесса компиляции. На этом этапе символы, составляющие исходную программу, считываются и группиру!отса в отдельные лексические элементы, называемые лексемами. Лексический анализ важен для процесса компиляции по нескольким причинам. Наибольшее значение имеет, по-видимому, то, что замена в программе идентификаторов и констант лексемами делает представление программы удобнее для дальнейшей обработки. Далее„лексический анализ уменьшает длину программы, устраняя из исходного ее представления несущественные пробелы и комментарии.

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

Можно трактовать <вещественное> как лексический элемент и отложить распознавание конструкции (<вещественное>, <вещественное>) как комплексной константы до Фазы синтаксического анализа, Другая стратегия состоит и том, чтобы с помощью более сложного лексического анализатора распознать эту конструкцию как комплексную константу яа лексическом уровне и передать тип лексемы синтаксическому а"алнзатору.

Важно также отметить, что если в вычислительном центре изменяется принятое в нем множество терминальных символов, то это отражается лишь па лексическом анализе, аиа Вольшую часта того что происходит в течение лексического вал "за, можно моделировать с помощью конечных преобразоателей, работающих последовательно или параллельно, Напри-, 283 гл з. теоеия пеееводл аз лексический лнхлиз мер, лексический анализатор может состоять из ряда последа. вательно соединенных конечных преобразователей. Первый пре. образователь в этой цепи может устранять из исходной программы все несущественные пробелы, второй ликвидирует комментарии, третий ищет константы и т.

д. Другая возможность †завес набор конечных преобразователей, каждый из которых ищет определенную лексяческую конструкцию. В этом разделе мы рассмотрим методы, которые можно использовать при построении эффективных лексических анали. заторов. Как уже отмечалось в равд. 1.2.1, лексические анали. заторы бывают по существу двух видов — прямые и непрямые. Мы покажем, как по регулярным выражениям, описывающим соответствующие лексемы, строятся анализаторы обоих видов, З.ЗЛ. Язык расширенных регулярных выражений Множества допустимых цепочек знаков, образующих идентификаторы и другие лексемы языков программирования, почтя всегда оказываются регулярнымн, Например, идентификаторы Фортрана описываются как цепочки, „содержащие от одной до шести латинских букв илн цифр н начинающиеся буквой'", Очевидно, что это множество регулярно и его описывает регулярное выражение (А+...

+2) (е+(А+... +2+0+... +9) (в+(А+... +2+0+... +9) (е+(А+... +2+0+... +9) (е+(А+... +2+0+... +9) (в+ А+... +2+0+... +9)))) Зто выражение чересчур громоздко, так что имеет смысл ввести расширенные регулярные выражения, удобнее описывакпцие это и другие интересные с практической точки зрения регулярные выражения. Определение. Расширенные регуллрныв выразсения и множества, которые они обозначают, определяются рскурснвно следующим образом.

(1) Если ЕІрегулярн выражение, то оно расширенное н обозначает множество ЕЕ '). (2) Если Ес — расширенное регулярное выражение, то (а) Ес+ — расширенное регулярное выражение, обозначающее множество Ес)с'*, (б) Ес*' — расширенное регулярное выражение, обозначающее множество (е) 0 Ес 0)И 0 0Ес" ') Напомним, что мм не разлнчвеы регулярное выражение н обозначаемсс нм множество, когда нснь, о чем ндет речь.

284 (в) Ез+ь Ра сширенное регулярное выражение, обознаюшее множество И 0)с'П 0... 0И". Е ли Е(, н ЕС,— РасшиРенные РегУлЯРпые выРажениЯ, Ес д Ес — расширенные регула пые выражения, то соотвстственно множества х х . я обозначающие соот н (х(хЕ и хЕП,). (4) Ничто другое не я вляется расширенным регулярным вы- ражением. оглашение. В расширенных регулярных выражениях мы б а ную операцию объединения знаком ~ вместо е ежду й операц ей н унарн мн р ° ем обозначать ниари опе а. ~-, чтобы различие межд циями и + "" было более заметным.

гое полезное качество аппарата, служащего для опреде, — это возможность давать нм имена. ег ля иых множеств,— эт Н жно позаботиться о том, чт , чтобы определения, в которых учае приводили к порочному кругу или чтобы не ствуют имена, ие х авненнй, по- пал чнлась по существу система определяющих ур до бная системе, рассмот н т„енной в разд. 2.6, с помощью которой б КС-язык. В принципе пет ничего пло- можно определить лю ой -яз кого в том, что ы при оп ед о определении лексем использовать всю мо оп еделяющих уравнений впений (или распознавать лексемы с по- мощью МП-преобразователя, б,, Однако, как правило, лексический анализатор имеет простую структуру — обычно это структура мата. Поэтому мы предпочитаем пользоваться конечного автомата. о олька ег ля ные мно- механизмом, который может определять только ре ул р ом легко строить соответствующие конечные жества и по которому легко ст -свобо ные аспекты и еоб азователи.

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

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

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

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