Статус документа
Статус документа

ГОСТ Р ИСО 10303-11-2000 Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 11. Методы описания. Справочное руководство по языку EXPRESS

     

      9 Объявления


В настоящем разделе определены различные объявления, доступные в языке EXPRESS. EXPRESS-объявление создает новый EXPRESS-элемент и связывает с ним соответствующий идентификатор. На EXPRESS-элемент можно ссылаться в другом месте путем описания связанного с ним имени (см. раздел 10).

Принципиальные возможности языка EXPRESS установлены в следующих объявлениях:

- типа;

- объекта;

- схемы;

- константы;

- функции;

- процедуры;

- правила.

Объявления могут быть или явными, или неявными. В настоящем разделе полностью описаны явные объявления. Неявные объявления описаны в настоящем и последующих разделах, включая их элементы и условия, при которых они устанавливаются.

9.1 Объявление типа

Объявление типа создает определенный тип данных (см. 8.3.2) и объявляет идентификатор для ссылки на этот тип. Конкретно type_id объявляется как имя определенного типа данных. Представлением этого типа данных является. underlying_type. Область значения определенного типа данных совпадает с областью значений underlying_type, далее ограниченного where_clause (если оно есть). Определенный тип данных является конкретизацией исходного типа и, следовательно, совместим с исходным типом.

Примечание 1 - Составные определенные типы данных могут быть связаны с тем же самым представлением. Имена могут помочь читателю в понимании назначения (или контекста) применения underlying_type.

Синтаксис:

304 type_decl = TYPE type_id `=` underlying_type `;` [ where_clause ] END_TYPE `;` .

309 underlying_type = constructed_types | aggregation_types | simple_types | type_ref .



Пример 37 - Следующее объявление указывает определенный тип данных, названный person_name, с исходным представлением типа STRING. Определенный тип person_name далее доступен для использования в качестве представления атрибутов, локальных переменных и формальных параметров. Это придает ему большее количество значений, чем простое использование типа STRING.

TYPE person_name = STRING;

END_TYPE;

Правила области значений (оператор WHERE)

Правила области значений устанавливают ограничения, которые лимитируют область значений определенного типа данных. Область значений определенного типа данных является областью значений их исходного представления, ограниченного правилом(ами) области значений. Правила области значений следуют за ключевым словом WHERE.

Синтаксис:

     315 where_clause = WHERE domain_rule `;` { domain_rule `;` } .



Каждому domain_rule может быть задана метка правила. Ссылки на метки правил не описаны в настоящем стандарте.

Примечание 2 - В случае их задания метки правил могут быть использованы в реализациях, например для документации, сообщений об ошибках и обязательных спецификаций. Для этого желательно использование разметки правил.


Правила и ограничения