Отображение простых типов данных EXPRESS
Отображение типов данных в EXPRESS
ЭЛЕМЕНТ EXPRESS ОТОБРАЖАЕТСЯ В
ARRAY список (list)
BAG список (list)
BOOLEAN булевскую переменную (boolean)
BINARY двоичное(binary)
CONSTANT НЕ ОТОБРАЖАЕТСЯ
DERIVED ATTRIBUTE НЕ ОТОБРАЖАЕТСЯ
ENTITY экземпляр объекта
ENTITY AS ATTRIBUTE имя экземпляра объекта
ENUMERATION перечисление(enumeration)
FUNCTION НЕ ОТОБРАЖАЕТСЯ
INVERSE НЕ ОТОБРАЖАЕТСЯ
INTEGER целое
LIST список
LOGICAL перечисление(enumeration)
NUMBER вещественное
PROCEDURE НЕ ОТОБРАЖАЕТСЯ
REAL вещественное
REMARKS НЕ ОТОБРАЖАЕТСЯ
RULE НЕ ОТОБРАЖАЕТСЯ
SCHEMA НЕ ОТОБРАЖАЕТСЯ
SELECT см. 11.1.8
SET список
STRING строка
TYPE см. 11.1.6
UNIQUE RULE НЕ ОТОБРАЖАЕТСЯ
WHERE RULES НЕ ОТОБРАЖАЕТСЯ
Данный раздел определяет преобразование из элементов EXPRESS, являющихся типами данных, в структуру обмена.
Integer– отображает в структуру обмена как целочисленный тип данных. 3.3.1 описывает состав целочисленного типа данных.
String– состав строкового типа данных
Boolean –состав перечисленного типа данных, со значением Т или F истина или ложь.
Logical – перечисленного типа данных со значением истина, ложь, неизвестно: T, F, U.
Real – вещественный тип данных.
Пример. Определение объекта в EXPRESS
ENTITY widget
i1:INTEGER; ------- A
i2:INTEGER; ------- B
s1:STRING(3);------- C
s2:STRING; ------- D
1:LOGICAL; ------- E
b:BOOLEAN; ------- F
r1:REAL(4); ------- G
r2:REAL; ------- H
END_ENTITY;
Образец объекта в секции данных
#2=WIDGET(99,9999,’ABC’,ABCDEFG’,.T.,.F.,9.,1.23);
Binary –двоичный тип данных.
Пример
ENTITY picture
bn:BINARY
END_ENTITY
Образец экземпляра объекта в секции данных
#4=PICTURE(“1556FBO)”);
bn закодирован как “1556BF0”, что соответствует последовательности битов 101 0101 0110 1111 1011 0000.
Number –отображение вещественных данных
7.1.2 List – отображение спискового типа, помещаемое в скобках, где на месте необязательного типа стоит знак доллара.
Пример
ENTITY wedget;
Atribute1:LIST[0:?] OF INTEGER;
Atribute2:LIST[0:?] OF INTEGER;
Atribute1:OPTIMAL LIST[0:?] OF INTEGER;
Atribute1:REAL;
END_ENTITY
Образец экземпляра в секции данных
#4 = WIDGET((),(1,2,3),$,2.56);
7.1.3 Array, Set, Bag –отображаются в структуру обмена как данные спискового типа.
7.1.4 Enumeration –отображается в структуру обмена как перечисляемый тип данных.
Пример
TYPE
Primary_colour = ENUMERATION OF(red,green,blue);
END_TYPE;
ENTITY widget;
P_colour: primary_colour;
END_ENTITY;
Образец в секции данных.
#2=WIDGET(.RED.);
7.1.5 Выбираемый тип данных –определяет список типов данных, называемый список-выбора (select-list).
Пример
Определение объекта в EXPRESS
ENTITY Leader SUBTYPE OF (Employee);
Project: STRING;
END_ENTITY;
ENTITY Manager SUBTYPE OF (Employee);
Unit: STRING;
END_ENTITY;
ENTITY Employee;
Name: STRING;
END_ENTITY;
TYPE Supervisor = SELECT (Manager, Leader);
END_TYPE;
ENTITY Meeting;
Date: STRING;
Attandees: SET [2:?] OF Supervisor;
END_ENTITY;
Образцы экземпляров в секции данных.
#1 = LEADER (‘J. Brahms,’Academic Festival’);
#2 = MANAGER(‘S. Ozava’,’Tokio Symphony’);
#3 = (EMPLOYEE(‘G. Verdi’) LEADER(‘Aida’)
MANAGER(‘La Scala’));
#4 = MEETING(‘14921012’,(#1,#2,#3));
Вторым атрибутом экземпляра #4 являются участники: SET OF Supervisor.