Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Системне програмне забезпечення / Робоча_програма_СПЗ.doc
Скачиваний:
15
Добавлен:
27.03.2016
Размер:
202.24 Кб
Скачать

Модуль 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. Самостійна робота

Назва, зміст та обсяг завдань для самостійної роботи

номери тижнів

видачі роботи

захисту роботи

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 семестр

тиждень

  1. ПРОВЕДЕННЯ ПОТОЧНОГО ПІДСУМКОВОГО КОНТРОЛЮ

Поточний та модульний контролі здійснюються під час проведення аудиторних занять.

Форма проведення модульного контролю – письмова контрольна робота.

Підсумковий контроль у 7-ому семестрі (залік) здійснюється на основі позитивного складання модулів 1-3, а також за умови суми балів – не менше 60.

  1. рекомендована навчально-методична література з модулів

Модулі 1-3:

  1. 1. http://msdn.microsoft.com/ru-ru/library/

  2. Сорокина С.А. /Основы программирования драйверов и систем безопасности. СПб: Питер, 2003

  3. С. Холзнер /Microsoft Visual C++ 5 с самого начала. 1-е издание. / - СПб: Питер, 1998.

  4. Д.А. Руссинович /Внутреннее устройство Windows/ рус. ред. Майкрософт/ Москва 2005

  5. Microsoft Corporation. Microsoft Windows XP Professional. Учебный курс MCSA/MCSE. /Пер. с англ. - 2-е изд., испр. - М.: Издательско-торговый дом "Русская Редакция", 2003. - 1008 стр.: ил.

  6. Круглински Д., Уингоу С, Шеферд Дж. Программирование на Microsoft Visual C++ 6.0 для профессионалов. /Пер, с англ. - СПб: Питер; М.: Издательско-торговый дом "Русская Редакция", 2004. - 861 с.: ил.

  7. Microsoft Corporation. Принципы проектирования и разработки программного обеспечения. Учебный курс MCSD. /Пер. с англ. - 2-е изд., испр. - М: Издательско-торговый дом "Русская Редакция", 2002. - 736 стр.: ил.

  8. Вигерс Карл. Разработка требований к программному обеспечению. /Пер, с англ. - М.: Издательско-торговый дом "Русская Редакция", 2004. -576с.: ил.

  9. C/C++ и MS Visual C++ 2005 для начинающих (+CD) Пахомов Б., Паxомов Б. И., серия: "Для начинающих", 2007 г., Изд.: БХВ-Петербург

  10. Windows via C/C++. Программирование на языке Visual C++ Джеффри Рихтер, Рихтер Джеффри, Назарр К., Назар Кристоф, Кристоф Н., серия: "Мастер-класс", 2008 г., Изд.: Издательство "Русская Редакция", Питер

Модулі 4-7:

  1. Афанасьев А. Н. Формальные языки и грамматики: Учеб. пособие. — Ульяновск: УлГТУ, 1997. - 84 с.

  2. Ахо, Альфред В., Лам, Моника С, Сети, Рави, Ульман, Джеффри Д. К63 Компиляторы: принципы, технологии и инструментарий, 2-е изд. : Пер. с англ. - М. : 000 "И.Д. Вильяме", 2008. - 1184 с. : ил. - Парал. тит. англ.

  3. Грис Д. Построения компиляторов для цифрових вычислительных машин. М.: Мир, 1975.

  4. Дворянкин А. И. Основы трансляции: Учеб. пособие. — Волгоград: ВолгГТУ, 1999.-80 с.

  5. Карпов Ю. Г. Теория автоматов: Учебник для вузов. — СПб.: Питер, 2003. — 208 с.