ГОСТ Р ИСО 10303-21—2022
ENTITY widget;
a_number: SET OF INTEGER;
END_ENTITY;
Образец экземпляра объекта в секции данных:
#2 = WIDGET((0,1,2));
-------
>А
#3 = WIDGET((0,$,2));
-------
> В
#4 = WIDGET((0,0,2));
-------
> С
А: в этом экземпляре атрибут a_number определен набором чисел 0, 1, 2;
В: синтаксически экземпляр правилен. Однако экземпляр неправилен относительно определения SET в
EXPRESS, поскольку SET не может иметь пропущенных элементов;
С: синтаксически экземпляр правилен. Однако экземпляр неправилен относительно определения SET в
EXPRESS, поскольку SET не может иметь одинаковых элементов.
12.1.5 Тип данных bag
(мультимножество)
Значения данных в языке EXPRESS типа BAG должны быть отображены в структуру обмена как
данные спискового типа. Раздел 7 описывает состав данных спискового типа. Внутри списка каждый
экземпляр типа элемента должен быть закодирован, как требуется (согласно разделу 12) для каждого
типа данных в EXPRESS. Если BAG пустое, список должен кодироваться как левая скобка "(", за кото рой
сразу следует правая скобка ")".
Значения данных в языке EXPRESS типа BAG могут быть определены в справочной секции. Зна чения
должны быть отображены с использованием имени экземпляра значения, определенного для это го
экземпляра в ссылочной секции. Значение экземпляра должно быть совместимо с типом EXPRESS.
Значения данных в языке EXPRESS типа BAG могут быть определены константами EXPRESS.
Значения должны быть отображены с использованием значения, определенного для этого экземпляра
в схеме EXPRESS. Значение экземпляра должно быть совместимо с типом EXPRESS.
Примечание — Если в конкретном экземпляре объекта отсутствует значение для необязательного
(OPTIONAL) атрибута, чьим типом данных является BAG, атрибут должен быть закодирован знаком доллара ("$"),
как определено в 12.2.2, и это не пустой список.
Пример
—
Определение объекта в языке EXPRESS.
ENTITY widget;
a_numbers: BAG OF INTEGER;
END_ENTITY;
Образец экземпляра объекта в секции данных:
#2 = WIDGET((0,1,1,2));
-------
>А
#3 = WIDGET((0,$,2));
-------
> В
А: в этом экземпляре атрибут a_numbers определен набором чисел 0, I, 1, 2;
В: синтаксически экземпляр правилен. Однако экземпляр неправилен относительно определения BAG в
EXPRESS, поскольку BAG не может иметь пропущенных элементов.
12.1.6 Простые определенные типы
Простой определенный тип является типом, определяемым объявлением EXPRESS-типа, в кото
ром опорным типом не является перечисляемый тип (ENUMERATION) или выбираемый тип (SELECT).
Простой определенный тип должен быть отображен в структуру обмена как тот тип данных, который
использовался в его определении.
Пример
—
Определение объекта в языке EXPRESS.
TYPE
typel = INTEGER;
END_TYPE;
TYPE
type2 = LIST [1 : 2] of REAL;
END_TYPE;
ENTITY widget;
attributed LOGICAL;------------>A
------------> В
------------> C
attribute2: TYPE1;
attribute3: TYPE2;
END_ENTITY;
38