WWW.DISSERS.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

   Добро пожаловать!


ПЕНЗЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ Факультет вычислительной техники Кафедра систем автоматизации проектирования "Утверждаю" Декан ФВТ Б.Д.Шашков "" _ 2002 г.

Рабочая программа дисциплины Лингвистическое и программное обеспечение САПР по подготовке дипломированного специалиста по направлению 654600 специальности 220300 Программу разработал к.т.н., доцент И.Г.Кревский Программа одобрена на заседании кафедры САПР, протокол № _ от "_" _ 2002r.

Зав.кафедрой САПР д.т.н., профессор _ А.М.Бершадский Согласовано:

Председатель НМК ФВТ _ д.т.н., профессор П.П.Макарычев Программа разработана в соответствии со следующими документами:

—— Государственным образовательным стандартом Минобразования РФ по направлению подготовки 654600 и специальности 220300;

——рабочим учебным планом Пенз.ГУ по специальности 220300;

1.Цели и задачи дисциплины.

Целью дисциплины является изучение и практическое освоение способов организации программного обеспечения САПР, технологий структурного и объектно-ориентированного программирования, теоретических основ и методов разработки трансляторов с языков САПР.

2. Требования к уровню освоения содержания дисциплины.

В результате изучения дисциплины студенты должны:

- знать:

основные способы построения транслирующих программ;

основные способы формального определения синтаксиса языка;

основы проектирования синтаксических анализаторов и методы грамматического разбора;

организацию программного обеспечения САПР;

типовые структуры описания абстрактных данных;

методы программной обработки данных;

-уметь:

использовать язык С++ для написания трансляторов, программ обработки математических структур;

-иметь опыт:

разработки трансляторов на основании формального определения заданного языка;

-иметь представление:

об организация диалога в САПР;

о технологиях структурного и объектно-ориентированного программирования.

3. Объем дисциплины и виды учебной работы Вид учебной работы Всего часов Семестр Общая трудоемкость дисциплины 238 119 Аудиторные занятия 153 68 Лекции 85 34 Лабораторные работы (ЛР) 51 34 Самостоятельная работа, в т.ч. курсовая 17(17) 17(17) работа Вид итогового контроля (экзамен, зачет) зач. экз.

4. Содержание дисциплины 4.1. Разделы дисциплины и виды занятий N п\п Раздел дисциплины к-во часов Лекции Л.р. Сам.р.

1. Введение. Организация программного обеспечения САПР. Основные понятия лингвистического обеспечения.

12 12 * 2. Введение в язык С++.

4 * 3. Структура и основные типы транслирующих программ 6 2, * 4. Методы формального определения синтаксиса языка 4 8 3, * 5. Регулярные грамматики и лексический анализ 10 14 6, * 6. Контекстно-свободные грамматики и синтаксический анализ 6 10 6, * 7. Формирование постфиксной записи и генерация кода 10 * 8. Классификация языков САПР. Основы языка VHDL.

15 4 * 9. Программирование математических структур и методы программной обработки данных 10. Введение в технологии структурного и объектно- 14 3 * ориентированного программирования.

11. Заключение ИТОГО:

85 51 * - Внеаудиторная самостоятельная работа в объеме 85 часов отводится на подготовку к лабораторным работам, оформление отчетов, выполнение курсового проекта.

4.2. Содержание разделов дисциплины 1. Цели и задачи дисциплины, ее место среди других дисциплин учебного плана. Структура и содержание дисциплины, методика преподавания. Организация программного обеспечения САПР. Основные понятия лингвистического обеспечения.

2. Основные понятия С++. Составные части программы на С++. Переменные и константы.

Выражения и операторы. Функции. Циклы. Ссылки и указатели.

3. Структура и основные типы транслирующих программ. Компиляторы, интерпретаторы, конверторы, кросс-компиляторы. Число проходов трансляции.

4. Синтаксис и семантика языка. Формальные языки и грамматики. Иерархия Хомского.

Проблема разбора. Форма Бэкуса-Наура, синтаксический граф, дерево разбора.

5. Идентификация лексем формальных языков. Регулярные выражения. Проектирование лексических анализаторов. Регулярные грамматики и конечные автоматы. Автоматные грамматики.

6. Контекстно зависимые и контекстно свободные грамматики. Проектирование синтаксических анализаторов. Методы грамматического разбора. Грамматический разбор "сверху вниз" и "снизу вверх". Левосторонний и правосторонний вывод.

7. Постфиксная запись. Формирование постфиксной записи для выражений и для операторов. Промежуточные формы записи. Четверки. Генерация кода.

8. Классификация языков САПР. Языки проектирования САПР (входные и выходные).

Основы языка VHDL. Интерфейс и архитектурные тела. Операции и типы данных.

Классы объектов. Атрибуты. Пакеты. Процедуры и функции.

9. Типовые структуры описания абстрактных данных (массив, стек, очередь, двоичное дерево). Программирование математических структур (матрицы и конечные графы).

Методы программной обработки данных. Итерация и рекурсия. Сортировка и поиск.

Криптообработка и сжатие данных. Перечисление и упорядочивание комбинаторных объектов. Ввод-вывод данных. Обработка файлов.

10. Технологии структурного и объектно-ориентированного программирования.

Конструирование абстрактных типов данных. Инкапсуляция данных и методов их обработки в классах объектов. Иерархия классов. Базовые и производные классы.

Простое и множественное наследование. Перегрузка методов и операций обработки данных в классах объектов. Абстрактные классы. Полиморфная обработка данных.

Виртуальные интерфейсы. Параметризация типов данных в классах и функциях.

Компиляция и редактирование связей. Верификация и отладка программы. Программная документация. Организация диалога в САПР. Виды диалога. Стандарты пользовательского интерфейса.

11. Заключение. Инструментальные средства разработки программного обеспечения САПР.

Автоматизация разработки программных проектов.

5. Лабораторный практикум.№-№ № раздела Наименование лабораторных работ К-во п/п дисциплины часов 1 2 3 1. 2 Лабораторные работы по основам языка С++ 2. 5 Разработка лексического анализатора 3. 6 Разработка синтаксического анализатора 4. 7 Формирование постфиксной записи 5. 7 Разработка программы генерации кода 6. 9 Программирование математических структур и методы программной обработки данных.

7. 10 Создание и использование классов 6. Курсовая работа.

Разработка транслятора с заданного языка. Состав курсовой работы:

• задание на проектирование;

• пояснительная записка объемом 15 листов, включая представление реализуемого языка в виде БНФ, синтаксического графа и LL(1)-грамматики, описание программы;

• графическая часть - блок-схема алгоритма программы.

7. Материально-техническое обеспечение дисциплины.

Для обеспечения лабораторно-практических занятий необходим класс ПЭВМ и программное обеспечение VC++.

8. Рекомендуемая литература.

1. Вирт Н. Алгоритмы + структуры данных = программы. - М.: Мир, 1985.

2. Зелковиц М., Шоу А., Гэннон Дж. Принципы разработки программного обеспечения: Пер. с англ. - М.: Мир, 1982.

3. Хантер Р. Проектирование и конструирование компиляторов: Пер. с англ. - М.:

Финансы и статистика, 1984.

4. Грис Д. Конструирование компиляторов для цифровых вычислительных машин: Пер.

с англ. - М.: Мир, 1975.

5. Льюис Ф., Розенкранц Д., Стирнз Р. Теоретические основы проектирования компиляторов: Пер. с англ. - М.: Мир, 1979.

6. Ахо А., Ульман Дж. Теория синтаксического анализа, перевода и компиляции. В 2-х т.: Пер. с англ. - М.: Мир, 1978.

7. Системы автоматизированного проектирования в радиоэлектронике. Справочник /Е.В.Авдеев, А.Т.Еремин, И.П.Норенков, М.И.Песков; Под ред. И.П.Норенкова. - М.:

Радио и связь, 1986.

8. Ахо А., Сети Р.,Ульман Дж. Компиляторы: принципы, технологии и инструменты. :

Пер. с англ.. – М.: Издательский дом «Вильямс», 2001. – 768 с.

9. Аpмстpонг Дж.Р. Моделиpование цифpовых систем на языке VHDL: Пер.с англ./М.:

Мир, 1992.

10. Бибило П.Н. Основы языка VHDL – М., Солон-Р, 2000.

11. Эллис М., Страуструп Б., Справочное руководство по языку программирования С++ с комментариями : Пер.с англ. – М.: Мир, 12. Страуструп Б. Язык программирования Си++: Пер.с англ. – М.: Радио и связь, 1991.

13. Либерти Д. Освой самостоятельно С++ за 21 день: пер.с англ.: Уч.пос. - М.:

Издательский дом «Вильямс», 2001. – 816 с.

9. Переутверждение программы на очередной учебный год.

Учебный Учебные Решение кафедры № Решение Лектор № год группы протокола, дата, выпускающей разработчик изменения подпись зав. кафедры № программы кафедрой протокола, дата, подпись зав.

кафедрой Примечание: тексты изменений прилагаются.

Разработчик программы: к.т.н., доцент _ И.Г.Кревский











© 2011 www.dissers.ru - «Бесплатная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.