🗊 Презентация Лексер, парсер. Этапы компиляции. (Часть 1)

Нажмите для полного просмотра!
Лексер, парсер. Этапы компиляции. (Часть 1), слайд №1 Лексер, парсер. Этапы компиляции. (Часть 1), слайд №2 Лексер, парсер. Этапы компиляции. (Часть 1), слайд №3 Лексер, парсер. Этапы компиляции. (Часть 1), слайд №4 Лексер, парсер. Этапы компиляции. (Часть 1), слайд №5 Лексер, парсер. Этапы компиляции. (Часть 1), слайд №6 Лексер, парсер. Этапы компиляции. (Часть 1), слайд №7 Лексер, парсер. Этапы компиляции. (Часть 1), слайд №8 Лексер, парсер. Этапы компиляции. (Часть 1), слайд №9 Лексер, парсер. Этапы компиляции. (Часть 1), слайд №10 Лексер, парсер. Этапы компиляции. (Часть 1), слайд №11 Лексер, парсер. Этапы компиляции. (Часть 1), слайд №12 Лексер, парсер. Этапы компиляции. (Часть 1), слайд №13 Лексер, парсер. Этапы компиляции. (Часть 1), слайд №14 Лексер, парсер. Этапы компиляции. (Часть 1), слайд №15 Лексер, парсер. Этапы компиляции. (Часть 1), слайд №16 Лексер, парсер. Этапы компиляции. (Часть 1), слайд №17 Лексер, парсер. Этапы компиляции. (Часть 1), слайд №18 Лексер, парсер. Этапы компиляции. (Часть 1), слайд №19 Лексер, парсер. Этапы компиляции. (Часть 1), слайд №20 Лексер, парсер. Этапы компиляции. (Часть 1), слайд №21 Лексер, парсер. Этапы компиляции. (Часть 1), слайд №22 Лексер, парсер. Этапы компиляции. (Часть 1), слайд №23 Лексер, парсер. Этапы компиляции. (Часть 1), слайд №24 Лексер, парсер. Этапы компиляции. (Часть 1), слайд №25

Содержание

Вы можете ознакомиться и скачать презентацию на тему Лексер, парсер. Этапы компиляции. (Часть 1). Доклад-сообщение содержит 25 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Лексер + Парсер. Часть 1. Илья Филиппов 21.09.2015
Описание слайда:
Лексер + Парсер. Часть 1. Илья Филиппов 21.09.2015

Слайд 2


Этапы компиляции Фронтэнд Машинно независимые оптимизации Код генерация + машинно зависимые оптимизации
Описание слайда:
Этапы компиляции Фронтэнд Машинно независимые оптимизации Код генерация + машинно зависимые оптимизации

Слайд 3


Этапы фронтэнда Лексический анализатор (лексер) Синтаксический анализатор (парсер) Семантический анализатор Генерация промежуточного представления
Описание слайда:
Этапы фронтэнда Лексический анализатор (лексер) Синтаксический анализатор (парсер) Семантический анализатор Генерация промежуточного представления

Слайд 4


Схема работы
Описание слайда:
Схема работы

Слайд 5


Исходный код if (a == b) then a += 5; else a -= 5; if (a == b) then\n\ta += 5;\nelse\n\ta-=5;
Описание слайда:
Исходный код if (a == b) then a += 5; else a -= 5; if (a == b) then\n\ta += 5;\nelse\n\ta-=5;

Слайд 6


Схема работы Лексер формирует последовательности входных символов в лексемы, определяет их тип и отправляет токены парсеру. Лексема – минимальная...
Описание слайда:
Схема работы Лексер формирует последовательности входных символов в лексемы, определяет их тип и отправляет токены парсеру. Лексема – минимальная единица языка, имеющая самостоятельный смысл. Токен – тип лексемы + аттрибут Парсер формирует исходное выражение языка, запрашивая токены.

Слайд 7


Примеры лексем и токенов Лексема -- Токен 12345 (число, 12345) temp_1 (идентификатор, указатель на симтаб) += (оператор, plus_assign) + (оператор,...
Описание слайда:
Примеры лексем и токенов Лексема -- Токен 12345 (число, 12345) temp_1 (идентификатор, указатель на симтаб) += (оператор, plus_assign) + (оператор, plus) const (ключевое слово, const) Void (ключевое слово, void) var_name (идентификатор, указатель на симтаб) * (оператор, star)

Слайд 8


Схема работы Обрабатываемые лексером и парсером последовательности символов и токенов напрямую зависят от спецификации языка. Необходим способ...
Описание слайда:
Схема работы Обрабатываемые лексером и парсером последовательности символов и токенов напрямую зависят от спецификации языка. Необходим способ описания «что в языке может быть» «что в языке не может быть»

Слайд 9


Строгие определения. Грамматики. Алфавит – множество символов, используемых в языке Терминальный символ - символ из алфавита Нетерминальный символ –...
Описание слайда:
Строгие определения. Грамматики. Алфавит – множество символов, используемых в языке Терминальный символ - символ из алфавита Нетерминальный символ – символ не из алфавита Цепочка — последовательность символов Терминальная цепочка – цепочка, состоящая из терминальных символов Язык – множество терминальных цепочек Пример грамматики: S->aQbZ Q->ab | cc | Qd Z -> aQa | c | ε

Слайд 10


Классификация грамматик по Хомскому Тип 0: неограниченные Тип 1: контекстно-зависимые / неукорачивающие Тип 2: контекстно-свободные Тип 3:...
Описание слайда:
Классификация грамматик по Хомскому Тип 0: неограниченные Тип 1: контекстно-зависимые / неукорачивающие Тип 2: контекстно-свободные Тип 3: регулярные: праволинейные/леволинейные

Слайд 11


Строгие определения. Типы грамматик. Регулярные грамматики: праволинейные (A → w, A → wB, A,B ∈ N, w ∈ T*) леволинейные (A → w, A → Bw, A,B ∈ N, w ∈...
Описание слайда:
Строгие определения. Типы грамматик. Регулярные грамматики: праволинейные (A → w, A → wB, A,B ∈ N, w ∈ T*) леволинейные (A → w, A → Bw, A,B ∈ N, w ∈ T*) Контекстно-свободные грамматики: (A → w, A ∈ N, w ∈ (T U N)*)

Слайд 12


Соответствие языков и грамматик Тип 0 (неограниченные): естественные языки: Русский Английский Тип 2 (контекстно-свободные): большинство языков...
Описание слайда:
Соответствие языков и грамматик Тип 0 (неограниченные): естественные языки: Русский Английский Тип 2 (контекстно-свободные): большинство языков программирования: Java С++ Тип 3: (регулярные): описание отдельных лексем в языках программирования: Идентификатор Числовая константа

Слайд 13


Способы разбора грамматик Тип 2 контекстно – свободная грамматика: может быть описана с помощью конечного автомата с магазинной памятью Используется...
Описание слайда:
Способы разбора грамматик Тип 2 контекстно – свободная грамматика: может быть описана с помощью конечного автомата с магазинной памятью Используется для анализа последовательности токенов синтаксическим анализатором Тип 3 регулярная грамматика: Может быть описана с помощью конечного автомата Используется для формирования лексемы лексическим анализатором

Слайд 14


Строгие определения. Регулярные множества.
Описание слайда:
Строгие определения. Регулярные множества.

Слайд 15


Пример регулярного выражения Выражению «(a(b|c))*c» удовлетворяют: с ababacc abacabc Не удовлетворяют: ac abbc abacac
Описание слайда:
Пример регулярного выражения Выражению «(a(b|c))*c» удовлетворяют: с ababacc abacabc Не удовлетворяют: ac abbc abacac

Слайд 16


Строгие определения. Конечные автоматы.
Описание слайда:
Строгие определения. Конечные автоматы.

Слайд 17


Схема построения лексера
Описание слайда:
Схема построения лексера

Слайд 18


Регулярное Выражение -> НКА
Описание слайда:
Регулярное Выражение -> НКА

Слайд 19


Регулярное Выражение -> НКА
Описание слайда:
Регулярное Выражение -> НКА

Слайд 20


Пример Рассмотрим регулярное выражение: Построим соответствующий НКА:
Описание слайда:
Пример Рассмотрим регулярное выражение: Построим соответствующий НКА:

Слайд 21


НКА -> ДКА ε-замыкание(S) — множество состояний, которые достижимы из S путём переходов по ε Начальное состояние ДКА - ε-замыкание начального...
Описание слайда:
НКА -> ДКА ε-замыкание(S) — множество состояний, которые достижимы из S путём переходов по ε Начальное состояние ДКА - ε-замыкание начального состояния НКА While(есть нерассмотренное состояние ДКА: «cur») Для каждого состояния "B1" НКА, входящего в “cur”: Для каждого перехода “P” из "B" в “B2": Добавить состояние “new” ε-замыкание(B2) Добавить переход “cur” -> “new” по P Конечные состояния ДКА – состояния, содержащие конечные состояния НКА

Слайд 22


НКА -> ДКА Пример
Описание слайда:
НКА -> ДКА Пример

Слайд 23


Пример построенной диаграммы
Описание слайда:
Пример построенной диаграммы

Слайд 24


Ошибки находящиеся лексером Неполная лексема Конец файла между /* … */ Конец файла внутри строки в кавычках Буквенный символ в цифровой константе:...
Описание слайда:
Ошибки находящиеся лексером Неполная лексема Конец файла между /* … */ Конец файла внутри строки в кавычках Буквенный символ в цифровой константе: 123q Некорректный символ: @

Слайд 25


Должны быть ясны вопросы: Место выполнения лексического анализатора Схема работы лексического анализатора Какие ошибки обрабатываются лексическим...
Описание слайда:
Должны быть ясны вопросы: Место выполнения лексического анализатора Схема работы лексического анализатора Какие ошибки обрабатываются лексическим анализатором Идейная схема построения лексического анализатора Предназначение символьной таблицы для лексера



Похожие презентации
Mypresentation.ru
Загрузить презентацию