- •Робоча програма дисципліни
- •2. Розподіл навчального часу по семестрах і модулях
- •Модуль 2 Модель процесів і потоків виконання в ос Windows
- •Модуль 3 Синхронізація паралельних потоків виконання.
- •Модуль 4
- •Модуль 5
- •Модуль 6
- •Модуль 7
- •8. Приклади типових задач до модульних контролів
- •Питання винесені на екзамен.
Модуль 7
Генерація проміжного та машиного коду.
Оптимізація проміжного та вихідного програмного коду.
Лекції |
Тема 18. Елементи теорії перекладу. ЗМ 37. Синтаксично керований переклад. ЗМ 38. Атрибутні граматики. Перевірка контекстних умов. |
2 год. |
Тема 19 Організація таблиць символів. ЗМ 39. Таблиці ідентифікаторів, розстановки. Таблиці на основі дерев. Реалізація блокової структури. |
4 год. | |
Тема 20. Генерація коду ЗМ 40. Проміжне представлення програми у вигляді орієнтованого графа. Трьохадресовий код. Лінеаризоване представлення. ЗМ 41. Генерація кінцевого коду. Модель машини. Динамічна організація пам’яті. Трансляція змінних та виразів. |
6 год. |
Лабораторні заняття |
Лабораторне заняття 12. Генерація та оптимізація об’єктного коду. ЗМ 37-41. Платформно незалежна оптимізація об’єктного коду. Трансляція змінних та виразів різного типу. |
12 год. |
СРС |
Опрацювання студентами змістовних модулів ЗМ 22-27. Виконання завдання № 7 Таблиці символів. Генерація та оптимізація коду. (Зміст та обсяг роботи наведений в п.5) |
14 год. |
Модульний контроль 4 |
Виконання студентами письмової контрольної роботи з модуля 4. Форма контролю – письмові контрольні роботи та усне опитування студентів. Засоби контролю – завдання (додаток 9). |
2 год. |
Самостійна робота
№ |
Назва, зміст та обсяг завдань для самостійної роботи |
номери тижнів | |
видачі роботи |
захисту роботи | ||
1.
2.
3.
4.
5. |
Завдання № 1. Використння та розробка системних служб, програмування в режимі ядра. Описати ієрархічну структуру компонентів режиму «ядра». Розробити програму, яка явно використовує функції, декількох системних служб через виклик Nativ API. Обсяг – 16 год. Завдання № 2. Розробка багато потокових додатків. Дати визначення потокобезпечного коду. Розробити програму, яка паралельно використову 4 робочих потоки з різними пріоритетами. Обсяг – 12 год. Завдання № 3. Використання різних методів синхронізації потоків. Дослідити і описати різні методи синхронізації потоків для платформи Net.Framework. Розробити програмне забезпечення для одночасного сумісного доступу до загальних ресурсів декількома потоками різних процесів. Обсяг – 12 год. Завдання № 4. Основи процесу компіляції. Описати типову структуру компілятора, транслятора та інтерпретатора. Визначити мови програмування різних рівнів. Дослідити сучасні середовища програмування. Обсяг – 16 год.
Завдання № 5. Основи лексичного аналізу. Дати визначення поняття лексеми. Описати типи лексем, регулярних множин та виразів. |
7 семестр 2 тиждень
7 семестр 5 тиждень
7 семестр 7 тиждень
8 семестр тиждень
|
7 семестр 4 тиждень
7 семестр 6 тиждень
7 семестр 8 тиждень
8 семестр тиждень
|
ПРОВЕДЕННЯ ПОТОЧНОГО ПІДСУМКОВОГО КОНТРОЛЮ
Поточний та модульний контролі здійснюються під час проведення аудиторних занять.
Форма проведення модульного контролю – письмова контрольна робота.
Підсумковий контроль у 7-ому семестрі (залік) здійснюється на основі позитивного складання модулів 1-3, а також за умови суми балів – не менше 60.
рекомендована навчально-методична література з модулів
Модулі 1-3:
1. http://msdn.microsoft.com/ru-ru/library/
Сорокина С.А. /Основы программирования драйверов и систем безопасности. СПб: Питер, 2003
С. Холзнер /Microsoft Visual C++ 5 с самого начала. 1-е издание. / - СПб: Питер, 1998.
Д.А. Руссинович /Внутреннее устройство Windows/ рус. ред. Майкрософт/ Москва 2005
Microsoft Corporation. Microsoft Windows XP Professional. Учебный курс MCSA/MCSE. /Пер. с англ. - 2-е изд., испр. - М.: Издательско-торговый дом "Русская Редакция", 2003. - 1008 стр.: ил.
Круглински Д., Уингоу С, Шеферд Дж. Программирование на Microsoft Visual C++ 6.0 для профессионалов. /Пер, с англ. - СПб: Питер; М.: Издательско-торговый дом "Русская Редакция", 2004. - 861 с.: ил.
Microsoft Corporation. Принципы проектирования и разработки программного обеспечения. Учебный курс MCSD. /Пер. с англ. - 2-е изд., испр. - М: Издательско-торговый дом "Русская Редакция", 2002. - 736 стр.: ил.
Вигерс Карл. Разработка требований к программному обеспечению. /Пер, с англ. - М.: Издательско-торговый дом "Русская Редакция", 2004. -576с.: ил.
C/C++ и MS Visual C++ 2005 для начинающих (+CD) Пахомов Б., Паxомов Б. И., серия: "Для начинающих", 2007 г., Изд.: БХВ-Петербург
Windows via C/C++. Программирование на языке Visual C++ Джеффри Рихтер, Рихтер Джеффри, Назарр К., Назар Кристоф, Кристоф Н., серия: "Мастер-класс", 2008 г., Изд.: Издательство "Русская Редакция", Питер
Модулі 4-7:
Афанасьев А. Н. Формальные языки и грамматики: Учеб. пособие. — Ульяновск: УлГТУ, 1997. - 84 с.
Ахо, Альфред В., Лам, Моника С, Сети, Рави, Ульман, Джеффри Д. К63 Компиляторы: принципы, технологии и инструментарий, 2-е изд. : Пер. с англ. - М. : 000 "И.Д. Вильяме", 2008. - 1184 с. : ил. - Парал. тит. англ.
Грис Д. Построения компиляторов для цифрових вычислительных машин. М.: Мир, 1975.
Дворянкин А. И. Основы трансляции: Учеб. пособие. — Волгоград: ВолгГТУ, 1999.-80 с.
Карпов Ю. Г. Теория автоматов: Учебник для вузов. — СПб.: Питер, 2003. — 208 с.