В данный момент передан материал, составляющий 50% от содержания курса. К 10 маю передадим по электронной почте остальной материал.
Учебная дисциплина "Теория алгоритмических языков и компиляторов"
Зав. кафедрой
д.т.н., профессор Шаньгин В.Ф.
Лектор
к.т.н., профессор Тимофеев П.А.
.
Учебная дисциплина "Теория алгоритмических языков и компиляторов"
1. ИСПОЛЬЗУЕМАЯ ЛИТЕРАТУРА
1. В.М. Илюшечкин, А.Е. Костин, М.М. Хохлов. Системное прог-
раммное обеспечение. Книга 2 серии Программное обеспечение
микроЭВМ/ под. ред. В.Ф. Шаньгина.- М:. Высшая школа, 1987,
681.3.06 (075.3) П-784
2. Л. Бек. Введение в системное программирование: Пер. с англ.
М.:Мир, 1988, - 448с.
3. В. Дж. Рейуорд-Смит. Теория формальных языков. Вводный
курс: Пер. с англ.- М.: Радио и связь, 1988.-128с.
4. Р. Хантер. Проектирование и конструирование компиляторов/
Пер. с англ.; Предисл. В.М. Савинкова.- М.: Финансы и статис-
тика, 1984.- 232с.
5. В.Н. Касьянов, И.В. Поттосин. Методы построения транслято-
ров .- Новосибирск: Наука, 1986.-344с.
6. Л. Скенлон. Персональные ЭВМ IBM PC и XT. Программирование
на языке ассемблера: Пер. с англ.- М.: Радио и связь,
1991.-336с.
7. Computer-aided design of language processors / V. Shangin and P. Timofeev .- International Standard Book Number 0-8493-7537-1, 1992.
2. СОДЕРЖАНИЕ ДИСЦИПЛИНЫ
2.1. Лекционные занятия
ЛЕКЦИЯ 1. Предварительные математические сведения. Основные понятия теории множеств. Операции над множествами. Свойства множеств. Произведение множеств. Отношения. Графы и деревья. Строки, формальные языки, операции над языками.
Л.3. стр. 12-24.
ЛЕКЦИЯ 2. Способы определения языковых процессоров. Формальные грамматики. Классификация грамматик.
Л.2. стр. 224-231, Л.3. стр. 25-33.
ЛЕКЦИЯ 3. Основные типы контекстно-свободных грамматик. s-грамматики, q-грамматики, LL и LR -грамматики.
Л.4. стр. 54-83.
ЛЕКЦИЯ 4. Распознаватели. Язык, определяемый распознавателем. Разбор строк. Восходящий и нисходящий анализ.
Л.3. стр. 94-126, Л.5. стр. 113-130.
ЛЕКЦИЯ 5. Детерминированные и недетерминированные конечные автоматы. Моделирование конечного автомата.
Л.3. стр. 40-62.
Лабораторная работа № 1
Контрольная работа №1
ЛЕКЦИЯ 6. Недетерминированные автоматы с магазинной памятью. Конфигурация магазинного автомата. Граф состояний.
Л.3. стр. 79-88.
ЛЕКЦИЯ 7. Метод рекурсивного спуска и LL(1) - языки.
Л.4. стр. 59-71.
Лабораторная работа № 2
ЛЕКЦИЯ 8. Детерминированный магазинный автомат. Моделирование его работы.
Л.3. стр. 88-93.
Лабораторная работа № 3
ЛЕКЦИЯ 9. Правила преобразования контекстно-свободной грамматики к типу LL(1) - грамматики.
Л.4. стр. 61-76.
ЛЕКЦИЯ 10. Грамматики, лексический и синтаксический анализ.
Л.5. стр. 104-112.
ЛЕКЦИЯ 11. Компиляторы. Основные функции компилятора. Грамматика, лексический анализ, синтаксический анализ и
генерация кода.
Л.2. стр. 222-262.
ЛЕКЦИЯ 12. Машинно-зависимые особенности компилятора. Форма представления программы. Машинно-зависимая оптимизация кода.
Л.2. стр. 263-291.
ЛЕКЦИЯ 13. Ассемблеры. Основные функции ассемблера. Простой ассемблер. Таблицы и алгоритмы ассемблера.
Л.2. стр. 38-49.
ЛЕКЦИЯ 14. Перемещение программ. Литералы. Средства определения имен.
Л.2. стр. 49-72.
ЛЕКЦИЯ 15. Выражения. Программные блоки.
Л.2. стр. 72-91.
ЛЕКЦИЯ 16. Связывание отдельно транслируемых модулей. Генерация кода. Отимизация. Варианты построения ассемблеров.
Л.2. стр.91-111.
ЛЕКЦИЯ 17. Структура об'ектного модуля. Библиотека об'ектных модулей..
Л.6. стр. 277-279.
ЛЕКЦИЯ 18. Загрузчики и редакторы связей.
Л.2. стр. 122-164
Экзамен