Форма обучения:
дистанционная
Стоимость самостоятельного обучения:
бесплатно
Доступ:
свободный
Документ об окончании:
 
Уровень:
Профессионал
Длительность:
22:52:00
Студентов:
1899
Выпускников:
1052
Качество курса:
4.45 | 4.29
В курсе излагаются основные разделы теории разработки компиляторов. Рассматриваются такие средства автоматизации процесса разработки трансляторов, как LEX, YACC, СУПЕР, методы генерации оптимального кода.
Сделана попытка на протяжении всего изложения провести единую "атрибутную" точку зрения на процесс разработки компилятора.
Специальности: Программист

Дополнительные курсы

 

План занятий

Занятие
Заголовок <<
Дата изучения
Лекция 1
3 минуты
Предисловие

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