ГОСТ Р ИСО/ТО 10303-12-2000
8.1.8 Перечисляемое значение
Перечисляемое значение представляет величину перечисляемой области значений.
Синтаксис:
28i EnumerationValue = Т simple_id .
Перечисляемое значение яатяется простым идентификатором с предшествующим восклица
тельным знаком (!). Простым идентификатором является постсловательност ь символов из букв,
цифр и символа подчеркивания с буквой в качестве первого символа.
Пример 19 - Правильные перечисляемые значения:
!redJgreenJforward
8.2 Агрегатные значения
В EXPRESS различают две формы значений агрегаций - фиксированную и динамическую.
Фиксированная агрегация является агрегацией аналогичных предметов, где число мест хранения
не зависит от количества элементов, фактически хранящихся в агрегации. Динамическая агрега ция
является агрегацией аналогичных предметов, где число мест хранения зависит от числа эле ментов.
фактически хранящихся в агрегации. Агрегатные значения могут быть вложенными.
Синтаксис:
46i Aggregation Value = DynamicAggr | FixedAggr .
61i DynamicAggr = ’(’ I DynamicList J.
63i DynamicList = DynamicMemberDynamic-Member} .
64i DynamicMember = Aggregation’Value | ConstantValue | DerattValue |
ParmValue | RegattValue | TypeValue .
79i FixedAggr = T FixedList T.
80i FixedList = FixedMember { *,* FixedMember} .
81i FixedMember= DynamicMember | Nil .
Допустимые области значений элементов внутри агрегации зависят от контекста области
значений. Такими контекстами являются:
- константы (см. 8.8);
• вычисляемые атрибуты (см. 8.7.1.2);
•явные атрибуты (см. 9.2.2);
•параметры (см. 9.2.2);
•определенные типы данных (см. 8.4).
Правила и ограничения
a)Элементы внутри динамической агрегации не должны быть равны Nil.
b)Элементы внутри фиксированной агрегации могут быть равны Nil.
c)Значения элементов внутри агрегации должны быть совместимы с областью значений
агрегации.
Пример 20 - Агрегатные значения:
(10. -10, 0)
(1. 1, 2, 2. 3. 3)
( )
IL2, 3. 41
« 1 .2 |.|3 , ?|)
динамическая агрегация трех целочисленных значений
динамическая агрегация шести целочисленных значений
пустая динамическая агрегация
фиксированная агрегация четырех целочисленных значений
динамическая агрегация фиксированной агрегации двух значений.
8.3 Простой экземпляр
Простой экземпляр является представлением значения одного экземпляра простого значения.
Синтаксис:
12li Simple Instance = Simple InstanceId *=’ SimpleValue.
122i Simplelnstanceld = simplejd .
123i SimpleValue = BinaryValue | Boolean Value | LogicalValue | NutnberValue |
StringValue .
42iSimplelnstanceRef =Simplelnstanceld .
13