Дистанційне навчання Home
Дистанционное обучение в СумГУ: дисциплины » Системне програмування + КР

Вступ

Для написания системных программ в 1972 г. был созданный алгоритмический язык Си. Целью преподавания курса является получение студентами опыта написания системных программ на примере создания компиляторов и интерпретаторов для алгоритмических языков.

Мета та завдання

В результате изучения дисциплины студенты должны получить ЗНАНИЯ: УМЕНИЯ:

Автори

кафедра комп'ютерних наук, секція ""Інформатика""

Авраменко Віктор Васильович
кандидат технічних наук, доцент

Скаковська Алла Миколаївна
кандидат технічних наук


Содержание дисциплины О курсе
    Авторы
    Список литературы
    Контрольные вопросы
Лекция 1
    Анализ формальных языков
   1.1.1 Сведения о регулярных выражениях
   1.1.2 Регулярные выражения
   1.1.3 Грамматика
   1.1.4 Способы получения одних цепочек символов из других
Лекция 2
    Задачи анализа
Лекция 3
    Введение в компиляцию
   Введение в компиляцию
   Структура компилятора
   Проходы компилятора
Лекции 4
    Алгоритмический язык SPL
   Алгоритмический язык SPL
   Константы
   Переменные
   Выражения
   Служебные слова
   Оператор цикла
Лекция 5
    Лексический анализ
Лекция 6
    Полный синтаксис языка SPL
Лекция 8
    Синтаксические диаграммы и функции распознавания цепочек для нетерминальных символов
Лекция 7
    Синтаксические диаграммы и функции распознавания цепочек для нетерминальных символов
Лекция 9
    Интерпретация
   Интерпретация
   Таблицы интерпретатора
   Таблица функций
Лекция 10
    Работа с таблицами
   Работа с таблицами
   Функции для работы с таблицами объектов
   Функции для работы с таблицей функций
   Вызов функции
   Описание функции
   Функция поиска функции
Лекции 11
    Команды SPL
   Команды
   Создание
Лекция 12
    Заполнение таблицы команд
   Заполнение таблицы команд
   Программа занесения команд в таблицу команд
   Расширенная функция body()
   Расширенная функция stat()
Лекция 13
    Расширенная функция expr ()
   Расширенная функция expr ()
   Расширенная функция term()
   Расширенная функция fact()
   Расширенная функция fctl()
Лекция 14
    Заполнение других таблиц
   Заполнение других таблиц
   Заполнение таблицы объектов
   Расширенная функция cons()
   Расширенная функция dvarb()
   Расширенная функция prog()
Лекция 15
    Выполнение SPL- программы
   Выполнение SPL- программы
   Функция
   Исполнение команд
   Исполнение операций
   Занесение в стек
Лекция 16
    Алгоритмический язык С++
   Ключевые слова С++
   Определение переменных
   Передача данных в функцию по умолчанию
   Ссылки
   Перегруженные функции
Лекция 17
    Имена-этикетки
   17.1 Имена-этикетки
   17.2 Операция разрешения видимости
   17.2 Операция разрешения видимости
   17.3 Встроенные (inline) функции
   17.4 Гибкие операторы динамического распределения памяти: new, delete
   17.5 Объектно-ориентированное программирование на С++. Классы в С++
   17.6 Элементы класса
   17.7 Элементы-функции
   17.8 Доступ к элементам данных
   17.8 Доступ к элементам данных
   17.9 Вызов функций-элементов
   17.9 Вызов функций-элементов
Лекция 18
    Класс как область действия
   Класс как область действия
   Использование указателей на функции-элементы (методы)
   Указатель this
   Специальные функции-элементы
   Конструктор
   Конструктор копии
   Операция присваивания
   Деструктор
   Функции преобразования
   Конструкторы преобразований
   Операция приведения
Лекция 19
    Друзья
   Друзья
   Дружественные функции
   Дружественные классы
   Правила по отношению к друзьям
Лекция 20
    Лекция 20
   Перегруженные операции
Лекция 21
    Статические элементы
   Статические элементы
   Статические элементы-данные
   Статические элементы-функции
   Константные объекты и константные элементы- функции
Лекция 22
    Наследование классов
   Наследование классов
   Конструкторы, деструкторы и наследование
   Виртуальные функции
   Полиморфизм и позднее связывание
   Множественное наследование
   Виртуальный базовый класс
   Конструкторы и деструкторы при наследовании
   Абстрактные классы и чистые виртуальные функции
Лекция 23
    Классы потоков языка С++
   Классы потоков языка С++
   Заголовочные файлы
   Предопределенные объекты-потоки
   Операции помещения и извлечения
   Расширение потоков для типов, определяемых пользователем
Лекция 24
    Файловый ввод/вывод с применением потоков С++
   Файловый ввод/вывод с применением потоков С
   Конструкторы файловых потоков
   Открытие файла
   Закрытие файла
   Перегрузка операций сдвига для файлового ввода/вывода
Лекция 25
    Форматирование данных
   Форматирование данных
   Форматирующие функции-элементы
   Ширина поля
   Заполняющий символ
   Число цифр (точность) вещественных чисел
   Флаги форматирования
   Некоторые флаги формата
   Манипуляторы.
   Простые манипуляторы
   Параметризованные манипуляторы
   Шаблоны С++
   Шаблоны функций
Курсовая работа
    Пояснение к выполнению курсовой работы
    Пример выполнения курсовой работы
    Требования к оформлению курсовой работы
    Вопросы к экзамену
    Список литературы