Лингвистическое обеспечение САПР.
В соответствии с классификацией языков САПР представленной на следующей схеме, различают языки программирования и проектирования.
Языки программирования - языки, предназначенные для написания программного обеспечения. Они должны быть удобны при использовании, универсальны (для разнообразных алгоритмов) и эффективны (минимальные затраты машинного времени и памяти). Фортран, ПЛ/1, Паскаль, АДА, СИ.
Языки проектирования - языки, предназначенные для описания информации об объектах и задачах проектирования. Среди языков проектирования выделяют (см. схему) входные, выходные, промежуточные и внутренние, сопровождения.
Входные языки служат для задания исходной информации об объектах и задачах проектирования и включают в себя языки описания объектов (ЯОО) и языки описания задание (ЯОЗ). Первые служат для описания свойств проектируемых объектов, а вторые - для описания заданий на выполнение проектных операций и процедур. Из схемы видно, что ЯОО делятся на языки схемные, графические и моделирования. Эта языки используются для описания исходной информации, представленной в виде соответственно некоторой схемы, конструкторского чертежа, алгоритма функционирования. Выходные языки используются для выражения результатов выполнения проектных процедур на ЭВМ.
Языки сопровождения применяются для корректировки и редактирования данных при выполнении проектных процедур.
Промежуточные и временные языки предназначены для представления информации на определенных стадиях её проработки в ЭВМ. Достоинство этих языков в том, что в отличие от входных языков, характеризующихся большим разнообразием и узкой проблемной ориентацией, они являются унифицированными и более универсальными.
Недостаток узкоспециализированных языков - в необходимости перестройки связанной с ними программной системы при изменении условий проектирования. Недостаток универсальных языков связан с их громоздкостью и, следовательно, с неудобствами применения конечным пользователем.
Устранение указанных выше недостатков выполняется в программных системах, структура которых поясняется следующим рисунком.
Пользователь составляет описание на выходном языке, затем это описание с помощью специальной транслирующей программы, называемой конвертером, переводится на промежуточный язык (см. схему). Далее работает основной транслятор, преобразующий описание задачи с промежуточного языка в рабочую программу.
Преимущества двухуровневого лингвистического обеспечения по этой схеме заключаются в том, что программная система сравнительно легко настраивается на новые подклассы объектов. Для включения в систему нового входного языка достаточно разработать только конвертер с этого языка на промежуточный язык. Наиболее сложная часть системы - основной языковой процессор остается без изменений.