ГОСТ Р И С 0 10303-11 — 2009
10.3.1 Оператор альтернативных имен ALIAS
Определение оператора ALIAS дано е 13.2.
Видимость: идентификатор, неявно объявленный в операторе ALIAS, является видимым в области
видимости, определеннойданным оператором.
Область видимости: оператор ALIAS определяет новую область видимости. Данная область видимо
сти размещается от ключевого слова ALIAS до ключевого слова END_ALIAS. которым завершается дан
ный оператор альтернативных имен.
10.3.2 Атрибут
Видимость: идентификатор атрибута является видимым в областях видимости объекта, в которой он
объявлен, и всех подтипов данного объекта.
10.3.3 Константа
Видимость: идентификатор константы является видимым в области видимости функции, процедуры,
правила или схемы, в которой он объявлен.
10.3.4 Элемент перечисления
Видимость: идентификатор элемента перечисления является видимым во всех областях видимости,
в которых является видимым определенный тип данных, в котором объявленданный элемент перечисле
ния. за исключением случая, когда такая внешняя область видимости содержит объявление такого же
идентификаторадля какого-либо другого элемента.
10.3.5 Объект
Видимость: идентификатор объекта является видимым в области видимости функции, процедуры,
правила или схемы, в которой он объявлен. Идентификатор объекта остается видимым при условиях,
определенных в 10.2, во внутренних областях видимости, в которых данный идентификатор объявлен
повторно.
Область видимости: объявление объекта определяет новую область видимости. Данная область ви
димости размещается от ключевого слова ENTITY до ключевого слова END_ENTITY. которым завершается
объявление данного объекта. Атрибуты, объявленные всупертипе объекта, являются видимыми вобъекте
подтипа по принципу наследования.
П р и м е ч а н и е — Область видимости объекта подтипа не считается вложенной в область видимости
супертила.
Объявления: следующие элементы языка EXPRESS могут объявлять идентификаторы, видимые в
области видимости объявления объекта:
- атрибут (явный, вычисляемый и инверсный);
- метка правила (правил уникальности и области определения).
Примеры
1 Идентификаторы атрибута batt е двух объектах не конфликтуют, поскольку они объявлены
в двухразных областях видимости.
ENTITY entityl;
aatt: INTEGER:
batt: INTEGER:
END_ENTTTY:
ENTITY entity2:
a :entityl;
batt . INTEGER:
END_ENTTTY;
2 Приведенная ниже спецификация недопустима, поскольку идентификатор атрибута aatt
одновременно и наследуется, и объявляется в области видимости объекта illegal (см. 9.2.3.3). Метки
правила lab в двух объектах не конфликтуют, поскольку они объявлены в разных областях видимо
сти; допустимый экземпляр объекта illegal, игнорирующий ошибку с атрибутом aatt подчиняется
обоим правилам области определения.
ENTITY may_be_ok;
quantity: REAL:
aatt : REAL;
WHERE
lab : quantity >= 0.0;
END_ENTITY:
61