В соответствии с учебным планом дисциплина изучается в пятом, шестом и седьмом семестрах в соответствии с таблица 2.1
Семестр | Лекции | Лаб.зан | Контр.раб | Курс. проект | Зачет | Экзамен |
5 | 4 | | | | | |
6 | 4 | 4 | КР1 | | | Экзамен |
7 | 12 | 10 | КР2 | КП | | |
На протяжении 6-го и 7-го семестров проводятся консультации каждую нечетную субботу в соответствии с расписанием.
В пятом семестре проводятся две установочные лекции и выдаются задания на контрольную работу №1«Прямые методы трансляции». Выполнение контрольной работы №1 предполагает решение задач сортировки и поиска информации и построения польской инверсной записи (ПОЛИЗ). Номер варианта в методических указаниях выбирается по последней цифре зачетки. Варианты заданий на контрольную работу №1 приведены в разделе 4 настоящих методических указаний.
В шестом семестре проводятся два двухчасовых лабораторных занятия:-Лабораторная работа №1 «Методы сортировки и поиска информации в таблицах транслятора»;-Лабораторная работа №2 «Трансляция выражений». Формулировка задания на лабораторные работы, порядок выполнения и форма отчетности приведены в [4],[10],[15].
Необходимым условием для сдачи экзамена в шестом семестре является качественно выполненные и защищенные контрольная работа №1 и лабораторные работы №1 - №2.
В седьмом семестре проводятся два четырехчасовых лабораторных занятия:-Лабораторная работа № 3 «Программирование сканера»;-Лабораторная работа № 4 «Синтаксический анализ методом рекурсивного спуска».Формулировка задания на лабораторные работы, порядок выполнения и форма отчетности приведены в [4],[10],[11].
Необходимым условием для защиты курсового проекта является качественно выполненные: курсовой проект на тему «Разработка отладка и тестирование блока транслятора для подмножества учебного языка высокого уровня» [12], контрольная работа №2[11] и лабораторные работы №3 - №4 [10].
ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ
Общая схема компиляции
Транслятор—это программа, которая переводит программу на исходном языке в эквивалентную ей программу на выходном языке. Компилятор – это транслятор, который осуществляет перевод исходной программы в эквивалентную ей результирующую программу на языке машинных кодов или на языке ассемблера.Интерпретатор—это программа, которая воспринимает исходную программу на входном языке и выполняет ее.Задача компилятора состоит в преобразовании ориентированного на пользователя программного обеспечения в машинно-ориентированное представление.Задача компиляции рассматривается на двух этапах, каждый из которых состоит из фаз:1. Этап анализа1.1. Лексический анализ.1.2. Синтаксический анализ.1.3. Семантический анализ.2. Этап синтеза.2.1. Генерация машинно-независимого кода.2.2. Оптимизация машинно-независимого кода.2.3. Распределение памяти.2.4. Генерация машинного кода.2.5. Оптимизация машинного кода.Общая схема компиляции представлена на рисунке 3.1.