ГОСТ Р ИСО/ТО 10303-12-2000
12.4 Отображение определенного типа данных нз EXPRESS
Определенный тип данных из EXPRESS отображается в EXPRESS-1одним из трех способов:
a)заменой идентификатора EXPRESS-типа значением типа;
b
) заменой идентификатора EXPRESS-типа поименованным значением типа:
c)определением экземпляра типа.
Г1р и мер 55 - Отображение определенного типа данных
EXPRESSEXPRESS!
TYPE dd = ARRAY 11:21 OF INTEGER; t3 = dd||6. S|>;
END_TYPE;
ENTITY usejype;
attr : dd:
END_ENTITY;
el = use_type{attr -> |2, 4|;};
e2 = use„type{attr -> dd{|4, 6|};};
e3 = use_type{attr -> @13;};
12.5 Отображение перечисляемого тина из EXPRESS
Тип ENUMERATION из EXPRESS отображается в EXPRESS-1 одним из трех способов:
a)заменой идентификатора EXPRESS-типа перечисляемым значением;
b
) заменой идентификатора EXPRESS-типа поименованным перечисляемым значением;
c)определением экземпляра перечисления.
Пример 56 - Отображение перечисления
EXPRESSEXPRESS!
TYPE enum = ENUMERATION OFt3 = enum{!three};
(one, two. three);
END_TYPE;
ENTITY use_enum:
attr : enum;
END_ENTITY:
el = use_enum{attr -> lone;};
e2 =use_enuni{attr ->enum{!two};J;
e3 = use_enum{attr -> @t3:};
12.6 Отображение выбираемого типа из EXPRESS
Тип SELECT из EXPRESS отображается в EXPRESS-1 одним из трех способов:
a)заменой идентификатора EXPRESS-типа выбираемым значением;
b
) заменой идешификатора EXPRESS-типа поименованным выбираемым значением;
c)определением экземпляра выбора.
EXPRESS-тип SELECT необязательно отображать в EXPRESS-1 непосредственно. Детали
отображения зависят от того, как формируется тип SELECT, и описаны ниже.
Тип SELECT определяет дерево. Корнем дерева является тип SELECT, а ветви из корня со
ответствуют типам выбора внутри SELECT. Если одним из этих типов является сам тип SELECT, то
он порождает новые ветви и т. д. Листья дерева образуются из выборов, не являющихся типа ми
SELECT. В простом случае все листья являются разными типами. В сложном случае по край ней
мере два листа имеют один и тот же базовый тип.
12.6.1 Случай простого выбора
Тип выступает либо как ссылка на один из типов в списке выбора, либо как вхождение од
ного из типов в список выбора.
Пример 57 - Отображение простого выбора
EXPRESS
ENTITY а;
аа : INTEGER;
END_ENTITY:
ENTITY b;
ab : INTEGER:
END_ENTITY;
■ ш д ц а ы
el = a(aa -> 3;};
e3 = a{aa -> 9:};
e2 = b{ab -> 6:}:
e4 = b{ab -> 12:}:
TYPE s = SELECT(a, b);s4 = s{@e4);
35