ВУЗ:
Составители:
5
18. Способы задания схем грамматик. Форма Наура-Бэкуса. Итерационная
форма. Синтаксическая диаграмма.
19. Построение грамматик и грамматики, описывающие основные конструк-
ции языков программирования. Рекомендации по построению грамматик.
Описание списков. Пример построения грамматик. Грамматики, описываю-
щие целые числа без знака, и идентификаторы.
20. Грамматики для арифметических выражений. Грамматика для описаний.
Грамматика, задающая последовательность операторов присваивания. Грам-
матики, описывающие условные операторы и операторы цикла.
21. Конечные автоматы. Определение и примеры. Детерминированные ко-
нечные автоматы. Конечный автомат с e-переходами.
22. Магазинный автомат. Детерминированные и недетерминированные мага-
зинные автоматы. Недетерминированные магазинные автоматы и контекстно
свободные языки.
23. Работа магазинного автомата. Язык, допускаемый магазинным автоматом.
Построение автомата по заданной грамматике.
24. Нисходящие распознаватели. Распознаватели и LL(k)-грамматики. Восхо-
дящие распознаватели и LR(k)-грамматики.
25. Проектирование компилятора. Число проходов. Промежуточные языки.
Объектные языки. Таблицы символов. Таблицы видов.
26. Принципы организации памяти. Типы памяти. Выделение памяти различ-
ным типам данных. Динамическое распределение.
27. Генерация кода. Промежуточный код. Структуры данных для генерации
кода. Генерация кода для некоторых типичных конструкторов.
28. Генерация объектного кода. Общие положения. Примеры генерации кодов
арифметических выражений.
29. Принципы оптимизации программ. Оптимизация линейных участков. Оп-
тимизация циклов и условий.
6
30. Исправление и диагностика ошибок. Типы ошибок. Общие принципы от-
ладки программ. Технология отладки. Трассировка и контрольные точки. От-
ладка в интегрированных средах.
31. Загрузчики. Схемы загрузки. Основные функции загрузчика. Абсолютные
и настраивающие загрузчики. Связывание подпрограмм. Принципы проекти-
рования загрузчиков. Алгоритм работы загрузчика.
СПИСОК ЛИТЕРАТУРЫ
1. Компиляторы: принципы, технологии и инструменты. / А. Ахо, Р. Сети,
Дж. Ульман. - М.: Вильямс, 2001.
2. Информатика. ч.3. Структуры систем и системное программирование. /
М. Брой. - М.: Диалог, 1996 .
3. Программное обеспечение ПЭВМ. / В.М. Брябрин. - М.: Наука, 1989.
4. Введение в операционные системы. / Г. Дейтел. - М.: Мир, 1987.
5. Системное программирование. / Дж. Донован. / Пер. с англ. - М.: Мир,
1975.
6. Введение в системы программирования. / В.Н. Лебедев. - М.: Статисти-
ка, 1975.
7. Руководство по DOS. / П. Нортон.- М.: Бином, 1995.
8. Теория формальных языков. / В. Дж. Рейуолд - Смит. - М.: Радио и связь,
1988 .
9. IBM PC для пользователя. / В.Э. Фигурнов. – М.: ИНФРА-М, 1995.
10. Проектирование и конструирование компиляторов. / Р. Хантер. – М.:
Финансы и статистика, 1984.