Опубликована: 05.04.2011 | Уровень: для всех | Стоимость: 3000.00 руб. | Длительность: 14 дней
В курсе излагаются основные разделы теории разработки компиляторов. Рассматриваются такие средства автоматизации процесса разработки трансляторов, как LEX, YACC, СУПЕР, методы генерации оптимального кода.
Сделана попытка на протяжении всего изложения провести единую "атрибутную" точку зрения на процесс разработки компилятора.
Цель: Для студентов, аспирантов программистских специальностей и профессионалов - программистов и разработчиков компиляторов.

План занятий

ЗанятиеЗаголовок <<Дата изучения
-
Лекция 1
3 минуты
-
Лекция 2
14 минут
Введение
В данной лекции рассматривается место компилятора в программном обеспечении, который составляет существенную часть программного обеспечения ЭВМ. Приведены основные понятия, рассмотрена структура компилятора согласно фазам его действия.
-
Тест 1
36 минут
-
Лекция 3
2 часа 18 минут
Языки и их представление
В данной лекции рассматривается понятие языков и их представление. Приведены такие определения, как алфавит, цепочка, грамматика, машина Тьюринга. Также приведены примеры практической реализации основных понятий в теории программирования.
-
Тест 2
36 минут
-
Лекция 4
1 час 49 минут
Лексический анализ
В данной лекции приводится понятие лексического анализа. Рассмотрены основные задачи лексического анализа, приведены основные определения, такие как регулярное множество, конечный автомат, конфигурация, лексический анализатор. Также приведены примеры решения задач, связанных с лексическим анализом.
-
Тест 3
36 минут
-
Лекция 5
3 часа 15 минут
Синтаксический анализ
В данной лекции рассматривается понятие синтаксического анализа. Приводятся определения понятий упорядоченного графа, дерева вывода, автомата с магазинной памятью и его конфигурации. Приведены примеры задач, алгоритмов и доказательства теорем синтаксического анализа.
-
Тест 4
36 минут
-
Лекция 6
59 минут
Элементы теории перевода
В данной лекции рассматривается теория перевода. Рассматриваются несколько формализмов для определения переводов: преобразователи с магазинной памятью, схемы синтаксически управляемого перевода и атрибутные грамматики. Приведены основные понятия, примеры решения задач и доказательства теорем.
-
Тест 5
36 минут
-
Лекция 7
22 минуты
Проверка контекстных условий
В данной лекции рассматривается проверка контекстных условий. Приведены определения понятий компоненты программы, области действия и области видимости, основных действий со средой. Также приведены примеры программного кода и решения задач.
-
Тест 6
36 минут
-
Лекция 8
34 минуты
Организация таблиц символов
В данной лекции рассматривается организация таблиц символов. Рассмaтриваются некоторые основные способы организации таблиц символов в компиляторе: таблицы идентификаторов, таблицы расстановки, двоичные деревья и реализация блочной структуры. Приведены также примеры программного кода и графическая интерпретация таблиц символов и идентификаторов.
-
Тест 7
36 минут
-
Лекция 9
37 минут
Промежуточное представление программы
В данной лекции рассматривается промежуточное представление программы, которое предназначено прежде всего для удобства генерации кода и/или проведения различных оптимизаций. Рассматриваются часто используемые формы промежуточного представления такие, как ориентированный граф (в частности, абстрактное синтаксическое дерево, в том числе атрибутированное), трехадресный код (в виде троек или четверок), префиксная и постфиксная запись. Также рассмотрена виртуальная Java-машина и ее команды. Приведены основные понятия, графическая интерпретация промежуточного представления программ и части программного кода.
-
Тест 8
36 минут
-
Лекция 10
2 часа 24 минуты
Генерация кода
В данной лекции рассматривается генерация кода, задачей которой является построение для программы на входном языке эквивалентной машинной программы. Рассматривается действие модели машины, осуществляющей генерацию кода. Приведены основные понятия и части программного кода.
-
Тест 9
36 минут
-
Лекция 11
15 минут
Системы автоматизации построения трансляторов
В данной лекции рассматриваются системы автоматизации построения трансляторов на примере систем автоматизации построения трансляторов СУПЕР и YACC. Приведены структуры этих систем, основные термины и определения и части программного кода реализации систем автоматизации построения трансляторов.
-
Тест 10
36 минут
-
Дополнительный материал 1
1 час 46 минут
-
Дополнительный материал 2
1 час 5 минут
-
Дополнительный материал 3
1 час 11 минут
-
5 часов
-