Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Skvortsov_vsyo_vmeste.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
1.4 Mб
Скачать

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

2. Абстрактные типы данных. Примеры и варианты реализации. 4

3. Прямые методы сортировки массивов 8

4. Быстрая сортировка 10

5. Сортировка Шелла 12

6. Пирамидальная сортировка. 14

7. Алгоритмы внешней сортировки (ВС) 16

8. Бинарный поиск и поиск по бинарному дереву 18

9. Алгоритмы обхода бинарных деревьев и их применение в трансляции программ и обработке данных 20

10. Машинное представление деревьев. 22

11. Машинное представление графов 24

12. Процедура поиска в глубину и ее применение в задачах обработки данных 25

13. Формальные грамматики и языки. Классификация грамматик. 28

14. Синтаксические диаграммы 30

15. Фазы трансляции программ и варианты организации языковых процессоров 31

16. Лексический анализ программ. Организация работы сканера 34

17. Нисходящий грамматический разбор с возвратом. 35

18 Восходящий грамматический разбор программ. 36

19 Формы внутреннего представления программ в языковых процессорах САПР. 38

20 Семантический анализ. Примеры организации семантических программ. 40

21. Машинно-независимая оптимизация программ 42

22 . Генерация кода в языковых процессорах САПР 44

23 Машинно-зависимая оптимизация программ 46

24 Организация информационных таблиц транслятора с хеш-адресацией 47

25 Методы разрешения коллизий в информационных таблицах с хэш-адресацией 48

1. Инструментальные средства разработки программного обеспечения сапр

К ним относятся:

  • Трансляторы для языков программирования;

  • Редакторы связей;

  • Загрузчики;

  • Связывающие загрузчики;

  • Отладчики;

  • Редакторы текста

  • Текстовые процессоры;

Важнейшее место среди программных средств занимают трансляторы. В общем случае под транслятором понимается программа, которая переводит текст с одного языка на другой. В частности транслятор, который переводит программу с языка высокого уровня в эквивалентную объектную программу, представленную на языке машинных программ, называется компилятором. Реальные программы обычно состоят из нескольких частей, которые компилируются отдельно и независимо друг от друга. Результат такой компиляции – объектный модуль.

Объектный модуль - объектная программа, которая должна использоваться совместно с другим или в составе других объектных модулей. Системная программа, которая предназначена для объединении(связывания) нескольких объектных модулей в одну программу называется редактором связей. В каждом объектном модуле обычно используются относительные адреса команд и данных. С помощью редактора связи эти адреса преобразуются к единому способу адресации, но также относительному.

Размещение объектной программы в ОП производится заменой относительных адресов абсолютными с исправлением адресов всех ссылок. Для этого применяется программа – загрузчик. Загрузчик размещает объектную программу в любую свободную или заданную область ОП. В результате получают загрузочный модуль, т.е. абсолютную машинную программу, готовую к исполнению. В некоторых системах функции редактора связей и загрузчика объединены в системной программе, называемой связывающим загрузчиком.

Отладчики представляют собой специальные программы для поиска ошибок в программах пользователей. В состав отладчика обычно входят средства для пошагово исполнения программы и ее трассировки, которые позволяют задавать в тексте программы точки останова, в которых выполнение программы временно прекращается для вывода промежуточных данных, а так же для просмотра текущего состояния регистров и ячеек памяти.

Редакторы текста – программы для ввода и изменения текстовых данных , включая тексты программ).

Текстовые процессоры представляют существенно большие возможности по форматированию и различных типов модификации текстовых документов.

Наиболее распространенные типы трансляторов представлены на следующей схеме

Трансляторы

Компиляторы

Интерпретаторы

Ассемблеры

Кроссистемы

Макропроцессоры

Языковые конверторы

Дизассемблеры

Интерпретатор считывает по строке или оператору исходную программу, анализирует и непосредственно исполняет эту часть программы.

Ассемблер представляет собой особый вид компилятора, который преобразует исходную программу, написанную на языке ассемблера в объектный код. Причём каждая команда языка ассемблера заменяется одной машинной командой.

Исключение составляет макроассемблер, в котором макрокоманда, встречающаяся в тексте программы, заменяется группой машинных команд.

Макропроцессор в общем случае представляет собой системную программу для символьной обработки, которая короткие фразы исходного текста, аналогичные макрокомандам, заменяет длинными фразам. Процесс такой замены называется макрорасширением или макрогенерацией.

Дизассемблер (обратный ассемблер) – вспомогательная программа, которая выполняет перевод машинной программы обратно на язык ассемблера. Дизассемблеры обычно используют при отладке и модификации программ в машинных кодах.

Языковые конверторы являются относительно новым видом трансляторов и применяются для перевода текста программы с одного языка на другой. Существуют конвертеры для перевода программ с одного языка высокого уровня на другой, а так же с некоторого специального языка САПР на универсальный язык программирования для которого существуют стандартные трансляторы.

Кроссистемы –это программные системы, которые обеспечивают получение машинных программ для одного типа ЭВМ (целевая ЭВМ) на ЭВМ другого типа (инструментальная ЭВМ). В качестве целевой ЭВМ обычно выступают различные специальные, встраиваемые или бортовые ЭВМ. Инструментальная ЭВМ – это обычно достаточно мощная универсальная машина.

Наиболее часто кроссистемы реализуются виде кросс-ассемблеров и кросс-компиляторов.

Замечание: Для персональных ЭВМ широкое распространение получил термин система программирования. Основу системы программирования составляет транслятор для языков высокого уровня, объединенный с интегрированной средой разработки программ. Эта среда обычно включает: текстовый редактор для подготовки программ, редактор связей, загрузчик, отладчик, а так же справочную систему.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]