КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
По системному программному обеспечению
доцент кафедры АСОИУ Д.Г. Хохлов
Цель работы – изучение принципов функционирования и построения компонентов трансляторов и освоение технологии модульного программирования. Курсовая работа включает разработку, отладку и документирование транслятора для заданного входного языка. Результатом курсовой работы является программа транслятора и пояснительная записка – отчет, оформленная в соответствии с требованиями стандартов и задания на курсовую работу [6, 7]. Пояснительная записка включает следующие основные разделы: задание, описание применения, описание программы, заключение и приложение. По согласованию с руководителем допускается изменение (конкретизация) названий разделов, а также включение дополнительных разделов. Содержание разделов описано в пособиях [6, 7]. Разработка транслятора, как правило, проводится методом внесения изменений в модули программы учебного компилятора С0 [4, 5]. Описание программы транслятора должно включать перечень основных изменений компилятора С0, а также сведения о средствах, разработанных для отладки модулей транслятора: тестах, заглушках (имитаторах), драйверах, программах отладочного вывода и др. В приложении приводится: полный список вставляемых, удаляемых и изменяемых строк исходного текста компилятора С0 с указанием их номеров в порядке возрастания и/или исходная программа разработанного транслятора; контрольный пример для проверки и демонстрации его работы; а также тексты основных отладочных средств: тестов, заглушек (имитаторов), драйверов, программ отладочного вывода и др. Оценка курсовой работы зависит от следующих факторов: - корректности и качества разработанных программ, в том числе полноты реализации требований задания; - полноты и качества пояснительной записки; - защиты курсовой работы – умения объяснить и обосновать принятые проектные решения, ответить на вопросы по функционированию программы и ориентироваться в проблемах и методах данной предметной области. Неудовлетворительная оценка по одному из указанных критериев приводит к неудовлетворительной оценке всей курсовой работы. При неудовлетворительной защите, свидетельствующей о полной несамостоятельности выполнения работы, возможна смена задания на курсовую работу. Дополнительные бонусы (“плюсы”) при оценке могут быть получены за следующие расширения заданной минимальной функциональности: - реализацию параметров управления работой транслятора; - дополнительный интерактивный интерфейс с пользователем; - оптимизацию объектной программы, например, эффективное (“сокращенное”) выполнение логических операций и операций сравнения, задание начальных значений глобальных и/или локальных переменных и т. п.; - реализацию дополнительных операторов и операций входного языка (выход из цикла break, переход к следующей итерации цикла continue и т. п.). Не допускается реализация функциональности, предусмотренной другими вариантами задания на курсовую работу. Такая реализация рассматривается не как достоинство, а как недостаток курсовой работы! Дополнительные бонусы не учитываются, если не реализована минимальная функциональность, предусмотренная вариантом задания. Литература
1. Ахо А., Сети Р., Ульман Дж. Компиляторы: принципы, технологии и инструменты: Пер. с англ. - М.: Издательский дом "Вильямс", 2003. - 768 с. 2. Молчанов А.Ю. Системное программное обеспечение: Учебник для вузов. - СПб.: Питер, 2003. - 396 с. 3. Молчанов А.Ю. Системное программное обеспечение. Лабораторный практикум. - СПб.: Питер, 2005. - 284 с. 4. Хохлов Д.Г. Системное программное обеспечение: Учебное пособие.- Казань: КГТУ (КАИ), Кафедра АСОИУ, 2006. - 136 с. 5. Хохлов Д.Г., Захарова З.Х. Введение в системное программирование: Учебное пособие.- Казань: Изд-во Казан. техн. ун-та, 2005. - 163 с. 6. Хохлов Д.Г. Программирование на языке высокого уровня. Часть 2: Методы программирования: Учебник. - Казань: Мастер Лайн, 2006. - 266 с. 7. Хохлов Д.Г. Основы технологии модульного программирования: Учебное пособие.- Казань: КГТУ (КАИ), Кафедра АСОИУ, 2005. - 63 с. 8. Хохлов Д.Г. Структуры данных и комбинаторные алгоритмы: Учебное пособие.- Казань: Изд-во Казан. техн. ун-та, 2006. - 100 с. 9. Хохлов Д.Г., Захарова З.Х. Практикум по структурам данных и комбинаторным алгоритмам: Учебное пособие. - Казань: Изд-во Казан. техн. ун-та, 2005. - 48 с. 10. Хохлов Д.Г., Захарова З.Х. Операционные системы: Учебное пособие. - Казань: КГТУ (КАИ), Кафедра АСОИУ, 2005. - 154 с. 11. Зубков С.В. Assembler для DOS, Windows и UNIX. М.: ДМК Пресс, 2000. - 608 с. 12. Хохлов Д.Г. Лабораторный практикум по методам трансляции: Методические указания.- Казань: КГТУ (КАИ), Кафедра АСОИУ, 1995. - 34 с. 13. Шень А. Программирование: теоремы и задачи. – М.: МЦНМО, 2004. – 296 с.
Задание на курсовую работу
Разработать, отладить и документировать транслятор для заданного входного языка в соответствии с вариантом задания.
Дополнительный тип данных (с минимальным набором операций): с – char; u – unsigned; i32 – int 4-байтовый вместо 2-байтового; L – long int (4 байта); f – float; b – локальные переменные блока - составного оператора; p - указатель; a – массив (многомерный); ag – глобальный одномерный массив; al – локальный одномерный массив; str – строка (не более 255 символов), как в языке Pascal (длина в нулевом элементе); set – множество до 256 элементов (например, как в языке Pascal).
Дополнительный тип констант: 2 – двоичная; 8 – восьмеричная; 16 – шестнадцатеричная; с – символьная; f – вещественная с фиксированной точкой, например 3.14; e – вещественная экспоненциальная (с плавающей точкой), например 31.4Е-1; str – строковая, например ‘КАИ’, операция + - сцепление строк; set – множество, как в языке Pascal, например [‘A’..’Z’, ‘0’..’9’], операция + - объединение, - - вычитание, in - принадлежность.
Дополнительные операции: ++ - инкремент (увеличение переменной на 1); -- - декремент (уменьшение переменной на 1); & - битовая И; | - битовая ИЛИ; ~ - битовое отрицание; ^ - битовое исключающее ИЛИ; && - логическая И; || - логическая ИЛИ; ! - логическое отрицание; >> << - сдвиг вправо и влево арифметический или логический (по выбору); & - определение адреса; ?: - условная операция; += -= *= /= %= <<= >>= &= ^= |= - присваивание с операцией.
Дополнительные операторы: 1 – цикл с постусловием do оператор while (выражение); 2 – цикл for (выражение; выражение; выражение) оператор 3 - цикл с параметром как в языке Pascal for переменная:= выражение {to | downto} выражение do оператор 4 – условный оператор if (выражение) оператор else [оператор] 5 – переключатель как в языке С switch (выражение) { [case константа: [оператор]…] … [default: [оператор]…] } и оператор выхода из переключателя break; 6 – new и delete.
Тип комментария: 1 – комментарий от двойной косой черты до конца строки: // …; 2 - комментарий в “скобках” из косой черты и звездочки: /* … */; 3 - комментарий в круглых скобках со звездочкой: (* … *); 4 - комментарий в фигурных скобках: { … }. Операторные скобки - begin … end.
Варианты заданий
Дата добавления: 2015-03-29; Просмотров: 388; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |