Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория трансляции.docx
Скачиваний:
3
Добавлен:
11.11.2019
Размер:
11.66 Кб
Скачать

Системное и прикладное по эвм

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

  1. системное

  2. прикладное

  3. инструментарий программирования (системы программирования)

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

Важной частью ОС является ПО предназначенного для создания и исследования определенного вида компьютерного объекта. Среди категорий прикладного ПО выделяют:

  1. Текстовые процессоры

  2. Табличные процессоры

  3. Графические пакеты

  4. интегрированные пакеты

  5. БД

  6. обучающие и т.д.

Системой программирования называют комплекс программ предназначенных для автоматизации программирования на ЭВМ.

В систему программирования входят:

  1. транслятор

  2. описание входного канала

  3. перечень ошибок и инструкции по их исправлению

  4. иногда библиотека стандартных программ

Классификацию системного программирования проводят по уровню входного языка:

  1. машинно-зависимые (машинные), системы символического кодирования (ассемблер), системы макрокодирования

  2. машинно-независимые (процедурно-ориентированные языки, проблемно-ориентированные языки).

Особенности машинно-зависимых языков:

  1. высокое качество создаваемых программ (компактность и скорость выполнения)

  2. возможность использования конкретных аппаратных ресурсов.

  3. Предсказуемость объектного кода и заказа памяти

  4. для составления эффективной программы необходимо знать систему команд и особенности функционирования данной ЭВМ

  5. трудоемкость процесса составления программ.

  6. Низкая скорость программирования

  7. низкая переносимость

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

Проблемно-ориентированные языки ориентированы на определенную область решаемых задач и позволяют в удобной форме формулировать задачу и получать результат. Среди категорий проблемно-ориентированных языков можно выделить :

  1. языки созданные для решения математических задач

  2. языки созданные для моделирования

  3. языки для работы списочными структурами

Классификация трансляторов

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

Если на входе транслятора процедурно-ориентированный язык, то он называется компилятором, а если проблемно-ориентированный язык, то — генератором.

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

К достоинству интерпретаторов следует отнести:

  1. незамедлительное выполнение текущей команды

  2. возможность просмотра значений переменных при выполнении текущей команды.

К недостаткам следует отнести:

  1. необходимость хранения в памяти копии генератора

  2. низкое быстродействие, особенно при работе с циклами

  3. отбивание охоты к хорошему стилю программирования

Получив на вход программу на языке программирования компилятор оценивает её в соответствии с синтаксическими конструкциями языка и строит программу на машинном языке. При работе с компилируемым языком необходимо рассмотреть 2 основные фазы жизненного цикла программы:

  1. период компилирования

  2. период прогона

Существует следующие виды трансляторов:

  1. однопроходный транслятор:формирует объектный модуль за за 1 последовательный проход исходной программы

  2. многопроходный транслятор

  3. имитирующий — выполняет оптимизацию кода в создаваемом объектном модуле

  4. адресный - функциональное устройство преобразующее виртуальный адрес в реальный

  5. диалоговый — обеспечивает использование языка программирования в режиме разделения времени

  6. синтаксически-ориентированный — получает на вход описание синтаксиса и семантики языка и текст на описанном языке, который и транслируется в соответствии с заданным описанием

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

  8. обратный транслятор (то же, что и детранслятор).