Статус документа
Статус документа

ГОСТ Р ИСО 10303-11-2009 Системы автоматизации производства и их интеграция. Представление данных об изделии и обмен этими данными. Часть 11. Методы описания. Справочное руководство по языку EXPRESS

     8.2.2 Тип данных LIST


Областью определения типа данных LIST являются последовательности подобных элементов. Необязательные нижняя и верхняя границы, задаваемые выражениями, имеющими целочисленные значения, определяют минимальное и максимальное число элементов в совокупности, определенной типом данных LIST. В определении типа данных LIST может быть факультативно установлено, что в списке не могут присутствовать одинаковые элементы.

   Синтаксис:

     250 list_type = LIST [ bound_spec ] OF [ UNIQUE ] instantiable_type .
     185 bound_spec = ' [ ' bound_1 ' : ' bound_2 ' ] '.
     183 bound_1 = numeric_expression .
     184 bound_2 = numeric_expression .


Правила и ограничения:

a) Выражение bound_1 должно иметь целочисленное значение, большее или равное нулю. Оно задает нижнюю границу, определяющую минимальное число элементов, которое может содержаться в списке этого типа данных. Выражение bound_1 не должно иметь неопределенного (?) значения.

b) Выражение bound_2 должно иметь целочисленное значение, большее или равное значению bound_1, либо неопределенное (?) значение. Оно задает верхнюю границу, определяющую максимальное число элементов, которое может содержаться в списке этого типа данных. Если значение данного выражения является неопределенным (?), то число элементов в списке этого типа данных не ограничено сверху.

c) Если элемент bound_spec опущен, то границы списка определяются как [0:?].

d) Если указано ключевое слово UNIQUE, то каждый элемент в списке этого типа данных должен отличаться (то есть не являться эквивалентным экземпляром) от любого другого элемента того же списка.

Пример - В данном примере определен список массивов. Список может содержать от нуля до десяти массивов. Каждый массив из десяти целых чисел должен отличаться от других массивов в данном списке.

complex_list: LIST[0:10] OF UNIQUE ARRAY[1:10] OF INTEGER;