Главная » Просмотр файлов » А.С. Герасимов - LR(0)-, SLR(1)-, LR(1)- и LALR(1)-анализ

А.С. Герасимов - LR(0)-, SLR(1)-, LR(1)- и LALR(1)-анализ (1134670), страница 2

Файл №1134670 А.С. Герасимов - LR(0)-, SLR(1)-, LR(1)- и LALR(1)-анализ (А.С. Герасимов - LR(0)-, SLR(1)-, LR(1)- и LALR(1)-анализ) 2 страницаА.С. Герасимов - LR(0)-, SLR(1)-, LR(1)- и LALR(1)-анализ (1134670) страница 22019-05-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Герасимов (СПбАУ РАН)Лекции по теории формальных языков13 мая 2011 г.21 / 30LR(1)-пунктыПусть G = (Σ, Γ, P, S 0 ) — расширенная грамматика.LR(1)-пункт: [A → β1 · β2 , a], гдеII[A → β1 · β2 ] — LR(0)-пункт, называемый ядром этого LR(1)-пункта,a — терминал или символ a.LR(1)-пункт [A → β1 · β2 , a] допустим для активного префиксаαβ1 , если существует (правый) выводS 0 ⇒∗ αAw ⇒ αβ1 β2 w ⇒∗ uwи цепочка w a начинается символом a.Автоматом LR(1)-пунктов грамматики G назовём ε-НКА(1)IG = (Q, Σ ∪ Γ, δ, {i0 }, Q), гдеIIIQ — множество всех LR(1)-пунктов грамматики G ,i0 = [S 0 → ·S, a],отношение переходов состоит из всех базисных переходов вида([A → β1 · X β2 , a], X , [A → β1 X · β2 , a]) и всех ε-переходов вида([A → β1 · Bβ2 , a], ε, [B → ·β, b]), где b ∈ first(β2 a) и припостроении first(β2 a) мы считаем a терминалом.(1)Для IG верны основная теорема LR-анализа и её следствия.А.

С. Герасимов (СПбАУ РАН)Лекции по теории формальных языков13 мая 2011 г.22 / 30LR(1)-автомат(1)(1)ДКА (неполный) AG , построенный по ε-НКА IG алгоритмом излекции 2, будем называть LR(1)-автоматом грамматики G .Пусть M — произвольное множество LR(1)-пунктов расширеннойграмматики G .Положим, что closure1 (M) есть минимальное по включениюмножество LR(1)-пунктов такое, чтоIIM ⊆ closure1 (M) и[A → β1 · Bβ2 , a] ∈ closure1 (M) влечёт[B → ·γ, b] ∈ closure1 (M) для каждого правила вывода видаB → γ и каждого b ∈ first(β2 a).Пусть X — терминал или нетерминал грамматики G .

Положимgoto1 (M, X ) = closure1 ({[A → β1 X ·β2 , a] | [A → β1 ·X β2 , a] ∈ M}).Алгоритм построения LR(1)-автомата.А. С. Герасимов (СПбАУ РАН)Лекции по теории формальных языков13 мая 2011 г.23 / 30Пример построения LR(1)-автоматаG4 : (0) S 0 → S, (1) S → ac, (2) S → bDc, (3) S → Da, (4) D → a.(1)Переходы в IG4 имеют вид ([A → β1 · X β2 , a], X , [A → β1 X · β2 , a])и ([A → β1 · Bβ2 , a], ε, [B → ·β, b]), где b ∈ first(β2 a).На этом рисунке опущенный второй компонент в LR(1)-пунктах есть a.А. С. Герасимов (СПбАУ РАН)Лекции по теории формальных языков13 мая 2011 г.24 / 30Алгоритм построения LR(1)-анализатора.Определение LR(1)-грамматикиВход.

Расширенная грамматика G = (Σ, Γ, P, S 0 ).Выход. Таблица LR-анализа для грамматики G .(1)1. построить LR(1)-автомат AG = (Q, Σ ∪ Γ, δ, I0 , Q);2. для каждого I ∈ Q3.для каждого i ∈ I4.если (i = [S 0 → S·, a]) action(I, a) := X;5.иначе если (i = [A → α·, a])6.action(I, a) := (⊗номер(A → α));7.иначе если (i = [A → β1 · aβ2 , c])8.action(I, a) := ( δ(I, a));9.иначе (т.

е. i = [A → β1 · Bβ2 , c])10.goto(I, B) := δ(I, B)Грамматика называется LR(1)-грамматикой, если в построеннойэтим алгоритмом таблице action нет конфликтов (т. е. в каждойклетке не более одной записи).А. С. Герасимов (СПбАУ РАН)Лекции по теории формальных языков13 мая 2011 г.25 / 30Пример построения LR(1)-анализатораG4 : (0) S 0 → S, (1) S → ac, (2) S → bDc, (3) S → Da, (4) D → a.aSD1D2a1a2a3bc1c2∇А. С.

Герасимов (СПбАУ РАН)actionbcaXgotoS Dc2a3c1⊗4⊗4⊗3a2D1⊗1⊗2a1bSЛекции по теории формальных языковD213 мая 2011 г.26 / 30План1LR(0)-анализ2SLR(1)-анализ3LR(1)-анализ4LALR(1)-анализА. С. Герасимов (СПбАУ РАН)Лекции по теории формальных языков13 мая 2011 г.27 / 30LARL(1)-анализДля языка программирования Паскаль LR(1)-автомат имеетнесколько тысяч состояний, тогда как LR(0)-автомат — несколькосотен состояний.LALR — Look Ahead LR, LR-анализ с предпросмотром.LALR(1)-автомат грамматики получается из LR(1)-автомата этойграмматики объединением всех состояний, имеющих одно и то жемножество ядер LR(1)-пунктов, в одно состояние.Для LR(1)-грамматики LALR(1)-автомат не имеет конфликтовперенос-свёртка.IIПусть [A → α·, a] и [B → β1 · aβ2 , b] принадлежат одномусостоянию LALR(1)-автомата.Тогда [A → α·, a] и [B → β1 · aβ2 , c] (для некоторого c)принадлежат одному состоянию LR(1)-автомата.(Но конфликты свёртка-свёртка могут появиться.)Грамматика называется LALR(1)-грамматикой, если нетконфликтов в таблице action, построенной алгоритмом наслайде 25, но по LALR(1)-автомату этой грамматики.А.

С. Герасимов (СПбАУ РАН)Лекции по теории формальных языков13 мая 2011 г.28 / 30Пример LR(1)-, но не LALR(1)-грамматикиG5 : S 0 → S, S → aAa|aBb|bAb|bBa, A → c, B → c.c1,2 = c1 ∪ c2 = {[A → c·, a/b], [B → c·, a/b]}.([A → α · β, a/b] — сокращение [A → α · β, a], [A → α · β, b].)А. С. Герасимов (СПбАУ РАН)Лекции по теории формальных языков13 мая 2011 г.29 / 30ЛитератураОсновная литератураЗамятин А.

П., Шур А. М. Языки, грамматики, распознаватели:Учебное пособие. Екатеринбург : Изд-во Урал. ун-та, 2007(электронный вариант книги — на http://elar.usu.ru, поиск).Дополнительная литератураАхо А., Лам М., Сети Р., Ульман Дж. Компиляторы: принципы,технологии и инструментарий. М.: ООО ”И.Д. Вильямс”, 2008.Ахо А., Ульман Дж.

Теория синтаксического анализа, перевода икомпиляции. М.: Мир, 1978.Мартыненко Б. К. Языки и трансляции: Учеб. пособие. СПб.:Издательство С.-Петербургского университета, 2004 (электронныйвариант книги — на http://www.math.spbu.ru/user/mbk).А. С. Герасимов (СПбАУ РАН)Лекции по теории формальных языков13 мая 2011 г.30 / 30.

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

Тип файла
PDF-файл
Размер
471,8 Kb
Тип материала
Высшее учебное заведение

Список файлов лекций

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