|
|
|
Средства разработки и поддержки языков проектированияДля эффективного
функционирования лингвистического обеспечения САПР необходимо, чтобы оно
обладало свойством "открытости", поэтому в составе инструментальных
средств САПР целесообразно иметь синтаксически ориентированный языковой
процессор, предназначенный для разработки, как новых языков взаимодействия, так
и для модификации уже используемых. Этим средством являются языковые
процессоры, предназначены для организации взаимодействия проектировщиков с САПР
на основе проблемно-ориентированных языков и выполняющие следующие основные
функции: - осуществление синтаксического и
семантического анализа; - выдача диагностических сообщений об
ошибках пользователя; - формирование последовательности выполнения
программных модулей, реализующих заданную проектную процедуру; - передача данных, содержащихся в
предложениях, проектным процедурам. Языковой процессор
представляет собой транслятор, который переводит исходный текст, написанный на
языке взаимодействия, в эквивалентный ему выходной текст. Транслятор в
зависимости от типа выходного текста разделяют на компилятора, интерпретаторы и
препроцессоры. Компилятор -
транслятор, формирующий выходной текст в виде объектной программы на машинном
языке или языке Ассемблера. В этом случае трансляция и выполнение
скомпилированной программы разделяются по времени. Интерпретатор
- для некоторого языка воспринимает исходный текст. Интерпретатор отличается от
компилятора тем, что он не порождает объектную программу, которая затем должна
выполняться, и непосредственно выполняет ее сам. Интерпретатор по сравнению с
компилятором имеет ряд преимуществ: - сообщения об ошибках передавить
пользователю легче в терминах исходной программы; - версия программы на промежуточном языке
обычно оказывается компактнее, чем машинный код, выдаваемый компилятором; - изменение части исходной программы не
требует перекомпиляции всей программы. Препроцессор формирует
выходной текст программы на языке высокого уровня, которая затем обрабатывается
стандартным транслятором для данного языка. Вопросы для самопроверки 1) Назовите уровни языков программирования. 2) Проведите сравнение
машинно-ориентированных языков и языков высокого уровня. 3) Назовите наиболее распространенные языки высокого
уровня. 4) Для чего предназначены языки управления. 5) Опишите предназначения языков
проектирования и требования к ним. 6) Расскажите о классификации языков
проектирования. 7) Опишите требования, предъявляемые к языкам
проектирования. 8) Назовите наиболее используемые средства
разработки и поддержки языков проектирования. 9) Чем отличается интерпретатор от
компилятора.
|
|