ТРАНСЛЯТОРЫ
ЯЗЫКИ ПРОГРАММИРОВАНИЯ -
- язык описания объекта
- язык описания задания
- язык директив
- язык редактирования
- языки банка данных
Язык описания объекта предназначен для ввода пользователем информации о структуре и параметрах объекта проектирования. На основе этой информации в САПР строится математическая модель объекта. Текст описания может вводиться в символьной или графической форме. По мере увеличения производительности вычислительных комплексов, все больше используется графический ввод.
Язык описания задач позволяет определить условия выполнения расчетов и проектных процедур. Этот язык реализуется в диалоговой форме.
Язык директив служит для задания порядка выполнения проектных процедур или операций в САПР. Основными элементами языка являются команды или директивы, последовательность которых и определяет ход проектирования. Часто этот язык создается в виде меню.
Язык редактирования служит средством оперативного, в процессе проектирования, изменения параметров или структуры объекта. Интерфейс пользователя этого языка в значительной степени совпадает с интерфейсом языка описания объекта.
Языки базы данных предназначены для ввода, использования и сопровождения информации баз данных. Как правило, пользователю САПР доступны для изменения данные только его частной базы данных; ведение генеральной базы данных осуществляет администратор БД.
Выполнение на ЭВМ программы, написанной на каком – либо языке, отличном от машинного, требует преобразования исходной информации в машинные команды, записанные в двоичной системе в ОЗУ. Это преобразование осуществляется программами или техническими устройствами, которые называются трансляторами. Транслятор преобразует заданную информацию с одного языка на другой. Программа на входе транслятора и ее язык называются исходными, на выходе транслятора – объектными.
Трансляторы подразделяются на несколько видов:
- интерпретаторы,
- компиляторы,
- ассемблеры,
- конверторы.
Интерпретатор осуществляет пооператорное (покомандное) преобразование исходного текста программы в машинные команды и ее выполнение.
Компилятор преобразует весь текст программы в объектный
модуль.Затем скомпилированная рабочая программа исполняется.
Если исходный язык – ассемблер, то транслятор называется ассемблером.
Если исходный и объектный языки относятся к одному и тому же уровню языков, то транслятор называется конвертором.
Исполнение программ с использованием интерпретатора занимает больше времени, иногда в сотни раз, чем исполнение скомпилированных текстов. Однако применение интерпретаторов удобно в тех случаях, когда в процессе выполнения программ необходимо вносить изменения в текст.
Процесс трансляции состоит из нескольких этапов, называемых фазами трансляции.
Основные этапы –
- лексический и синтаксический анализ,
- генерация кода.
Лексический анализ служит для разделения исходного текста на отдельные элементарные языковые единицы, которыми являются:
- идентификаторы,
- числа,
- метки,
- знаки операций.
Выявляются недопустимые сочетания символов языка, например, идентификатор, начинающийся с цифры, запрещенный символ.
Синтаксический анализ – фаза, на которой проверяется правильность построения предложений. В процессе анализа должны выявляться все ошибки в исходном описании, которые можно обнаружить по формальным признакам, и выдаваться пользователю соответствующие диагностические сообщения. Генерация кода осуществляется генератором кода, который использует данные синтаксического анализа для построения объектной программы.
Математическим аппаратом, используемым при построении анализаторов, является аппарат формальных грамматик.