ГОСТ Р ИСО 13584-25—2010
RETURN (compatible_aggregatejype_and_value(the_dataJypo. val));
END_FUNCTION; - - compatible_aggregatejdomain_and_value
c
7.4.3 Функция data_type_final_type
Функция data_type_final_type обеспечивает вычисление типа данных data_typo. определяющего
конечнуюобласть значений элементов property_BSU или data_type_BSU.
Если типданных data_type ассоциирован с именованными типами namod_type. функция рекурсив
но проверяет атрибуты типов referred_type до тех пор. пока не обнаружит тип данных, не являющийся
простым или сложным (simple_type и complex_type). После этого функция возвращает набор, содержа
щий объект data_type.
Если определение BSU недоступно, а результатданнойфункции неможет быть сведен к simple_typo
или complex_typo. функция возвращает пустой набор datatype.
Спецификация EXPRESS:
*)
FUNCTION data_type_final_type(
type_spec: property_or_data_type_BSU): SET [0:1] OF data_type;
LOCAL
res: BOOLEAN := FALSE;
x: data_type;
END_LOCAL;
IFNOTEXISTS(type_spec) THEN
RETURN([]); - - type_spec isindeterminate
ENDJF;
IF(*IS013584JEC61360_DIC-nONARY_SCHEMA.PROPERTY_BSU- IN
T YPEOF(type_spec))
THEN
IF NOT(SIZEOF(type_spec.definition) =0)
THEN
x :=type_spec.definition[1]\property_DET.domain;
res := TRUE;
END IF;
ELSE
IF NOT(SIZEOF(type_spec.definition) =0)
THEN
x := type_spec.definitk>n[1]\data_type_element.
type_definition;
res := TRUE;
ENDJF;
ENDJF;
IFNOT(res)THEN
RETURN([]);
ENDJF;
IF(TS013584JEC61360_DICTIONARY_SCHEMA.NAMED_TYPE’INTYPEOF(x)) THEN
IF NOT(SIZEOF(x\namedJype.referredjype.definition) =0)
THEN
RETURN(data_type_final_type(x\named_type.referredjype));
ELSE
RETURNd]);
END IF:
ELSE
RETURN({x]);
ENDJF;
END_FUNCTION; - - data Jypejinaljype
Г
16