САПР – человеко-машинная система, используемая средства машинной техники для эффективной реализации решений. Структурными элементами САПР явл. подсистемы.

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

ЛО САПР – совокупность языков для представления информации о проектируемых объектах, процессах и средствах проектирования, включая термины и определения правил формализации требований языка и методы описания и развертывания текстов, представленных в заданной форме.

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

Языки программирования, проектирования и управления.

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

2)       Языки проектирования – используются для представления и преобразования описаний в процессе АП. Служат для описания информации об объектах и задачах проектирования, явл. средством общения пользователей (не программирующих).

3)      Языки управления – используются для описания информации для программно-управляемого технического оборудования (станки с ЧПУ).

Классификация языков программирования

Языки высокого уровня ориентированы на специфику ПО (проблемно-ориентированные)

I поколение: Basic (совершенствование написания ПР, данных), Cobol (совершенствование алгоритмов), Fortran (1955)

II поколение:

    I период: PL1, Fortran (1977), LISP

    II период: ALGOL, Си, ADA, Pascal

III поколение: LOGO

Языки: пакетные, параллельного программирования (MODUL2), управления, интерактивные (могут вмешиваться в процесс компиляции)

Развитие языков программирования

1.      тенденция преемственности

2.      тенденция стихийного развития

3.      увеличение масштаба операторов языка (степень детализации описания вычислительных процессов)

4.      адаптация по декларативной процедурной части языка к использованию тех методов, которые используют для решения конкретных задач

5.      интеллектуализация языков программирования

6.      развитие средств, обеспечивающих автоматизированное док-во правильности программ.

Совокупность языков и языковых процессоров составляет систему программирования САПР и выполняет функцию лингвистического обеспечения

Языковые процессоры бывают двух типов:

1.      Трансляторы – программа, которая преобразует описание с одного языка на другой за один или несколько проходов, в зависимости от класса и структуры языка и регенерирует объектный модуль представления входного языка на выходном языке. Этот модуль можно использовать многократно. Объектный модуль явл. машинным языком некоторой машины.

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

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

Способы создания языков

Существует 2 способа создания языков:

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

2.      Создание языка автономного, для которого специально строится транслятор или компилятор.

Понятие грамматики

Алфавитом наз. некоторое мн-во символов. Строка – конечная посл-ть символов, каждый из которых принадлежит некоторому алфавиту. Набор словмн-во всех слов, составленных из символов данного алфавита.

 S - пустая строка, S* - ме-во всех цепочек, Î данному языку.

Формальным языком L на мн-ве S* наз. допустимое подмн-во мн-ва S*.

L{e} = L – пустая цепочка явл.  принадлежностью любого языка.

Грамматикой наз. формальное определение синтаксиса языка. Грамматика состоит из правил, по которым строятся цепочки, и из этих цепочек.

Контекстная грамматика

Прописными буквами обозначаются нетерминальные символы языка, строчными – терминальные.

® означает отношение («определяется как»)

Если строка b м.б. получена из строки a с помощью одного или нескольких выводов, то этот факт обозначается:  a Þ b

Пример: S ® A/B     A ® a/aA         S Þ A Þ aA Þ aaA Þ aaa

Контекстная грамматика м.б. представлена (S,N,T,P),    где   S – начальный символ, N – нетерминальный символ, T – терминальный символ, Р – правила вывода.

G = (S,{A,B},{a,b},P) – пример грамматики.

Контекстные грамматик у которых вид левой части ограничен только единственным нетерминальным символом, наз. контекстно-свободной грамматикой.

G = (S,N,T,P), где А ® В;  АÎN, ВÎ(NÚT)*

Пример: контекстно-несвободная грамматика

S ® aSBc/aBC

CB ® BC

AB ® ab

BB ® bb

BC ® bc

CC ® cc

Где С – нетерминальный символ

 

 

Hosted by uCoz