ГОСТ Р И С 0 10303-11 — 2009
- элементы из перечисляемого типа данных*;
-объекты**;
-функции*:
- локальные переменные втеле алгоритма*;
- параметры втеле алгоритма*;
- процедуры:
- правила;
-схемы вспецификации интерфейсов;
- типы данных.
Пример — Допустимые простые ссылки:
line
Circle
RED
z_depth
(* объектный тип данных *)
(* объектный тип данных ’)
(* элемент перечисления *)
(* атрибут *)
12.7.2 Префиксные ссылки
В случае, когда одно и то же имя элемента перечисления объявлено в нескольких определенных
типах данных, видимых в одной и той же области видимости (см. раздел 10), для обеспечения
однозначной идентификации элемента перечисления его имя должно иметь префикс, представляющий
собой идентификатор определенноготипаданных, соответствующего данномуэлементу. Префиксная ссылка
представляет собой имя определенного типаданных, за которым следует точка (.), за которой следует имя
элемента перечисления.
Пример — В данном примере показано, как элемент перечисления red может быть однозначно
идентифицирован для использования в объекте stop_signal.
TYPE trafficJight = ENUMERATION OF (red. amber, green);
ENDTYPE;
TYPE rainbow = ENUMERATION OF
(red. orange, yellow, green, blue, indigo, violet);
ENDTYPE;
stop_signal : traffic light := traffic light.red;
ink_colour : rainbow := blue;
12.7.3 Ссылки на атрибуты
Ссылка на атрибут (.) является ссылкой на отдельный атрибут экземпляра объекта. Выражение, рас
положенное слева от ссылки на атрибут, должно представлять экземпляр объекта или значение частичного
сложного объекта. Идентификатор атрибута, на который дается ссылка, указывают после точки (.).
Синтаксис:
179 attribute_qualifier = ’.’attribute_ref.
Ссылка на атрибут, используемая в выражении, возвращает значение указанного атрибута экземпля
ра объекта или частичного сложного объекта. Если выражение, расположенное слева от ссылки на атрибут,
имеет неопределенное (?) значение, то выражение, в котором использована ссылка на атрибут, также име
ет неопределенное (?) значение. Если выражение, расположенноеслева от ссылки на атрибут, представля
ет значение частичного сложного объекта, то имя атрибута, указанноесправа от ссылки на атрибут,
должно присутствовать в объявлении объекта для данного частичного сложного объектного типа
данных. Если объявленный тип данных выражения, расположенного слева от ссылки на атрибут,
является объектным типом данных, то имя атрибута, указанное справа от ссылки на атрибут, должно
быть объявлено вданном объектном типеданных либо всупертипе или подтипе данногообъектного
типаданных. Если объявленный тип данных выражения, расположенного слева от ссылки на атрибут,
является выбираемым типом данных, то имя атрибута, указанноесправа, должно быть объявлено в
объекте, присутствующем всписке выбора в супертипе или подтипе объекта, присутствующего в списке
выбора. Если указанного атрибута нет вэкзем пляре объекта или в значении частичного сложного
объекта, то возвращается неопределенное (?) значе ние. Если два или более атрибутов имеют одно и то
же имя, то данная ссылка является неоднозначной, и возвращается неопределенное (?) значение.
П р и м е ч а н и е — В ситуации, когда возможно возникновение неоднозначности, рекомендуется исполь
зовать спецификатор групповой ссылки, чтобы ограничить область видимости ссылки.
86