ГОСТ I* ИСО/ТО 10303-12-2000
Табл и и а 14 - Отображение простого типа
E X P R E S S
E X P R E S S - I
BINARY
BOOLEAN
INI EGER
LOGICAL
NUMBER
REAL
SIRING
BinaryValuc
BooleanValuc
lntcgcrValuc
LogicalValue
Intege rValue
RcalValuc
RealValuc
StrinjjValue
П ример 52 - Отображение простых типов данных
ENTITY base;
aj>inary
a_boolean
anjnteger
ajogical
a_number
a_real
a_string
END .ENTITY;
EXPRESS
BINARY;
BOOLEAN;
INTEGER;
LOGICAL;
NUMBER:
REAL;
STRING;
;
EXPRESS!
e1 = base {
a_binary-> %
0
\
10
a^boolean -> FALSE;
anjnteger -> 12345;
a„logical -> UNKNOWN;
-> -PI;
-> -9.99e2;
-> ’Tangles’;
a_number
a_real
a string
};
"
12.3 Отображение агрегатных типов данных
Отображение агрегаций из EXPRESS в EXPRESS-1 приведено в таблице 15.
Табл и и а 15 - Отображение AGGREGATE
E X P R E S S
E X P R E S S !
AGGREGATE
ARRAY
BAG
LIST
SET
Одно из следующих:
FixcdAggr
DvnamicAggr
DvnamicAggr
DvnamicAggr
Отображение “агрегации—агрегации... ” производится отображением каждой элементарной
агрегации в порядке слева направо. Это значит, что самая левая EXPRESS-агрегация становится
самой внешней EXPRESS-1-агрегацией.
П р и мер 53 - Отображения AGGREGATE
EXPRESS
ENTITY aggr;
an.array : ARRAY 11:3| OF INTEGER;
a„bag: BAG |0:?| OF INTEGER;
ajist ; LIST |0:2| OF INTEGER:
a_set; SET 11:?| OF INTEGER;
a„mix: ARRAY 11:21 OF SET OF INTEGER:
END_ENTITY;
EXPRESS!
el = aggr {
an_array -> (1,2, 3);
a_bag->(3.3,1);
ajist-> (1);
a_set->(9,5,11);
a_mix -> |(1, 2). (6, 5)|;
if
П р и ы с н а и и с - EXPRESS ARRAY может иметь значения OPTIONAL Если значении не определены
в экземпляре ARRAY’, то эти значения обозначаются в EXPRESS-I конструкцией Nil (то есть символом ?).
Пример 54 - Отображение массива sparse
EXPRESS
ENTITY sparse;
al : ARRAY |l:4| OF OPTIONAL INTEGER;
a2 : ARRAY |5:8| OF OPTIONAL INTEGER;
END_ENTITY;
EXPRESS!
el = sparse {
al -> |1, ?. ?, 4);
a2 -> |1, ?, 3, ?|;
};
34