Benutzerdefinierte Typen

Abgeleitete Typen

TYPE

<typeName>: <typeName> := <defaultValue>;

END_TYPE

Definition eines neuen Typs als Alias für einen bestehenden Typ. Der Standardwert ist optional.

Aufzählungstypen

TYPE

<typeName> : (<enumValue>, …, <enumValue>) := <defaultValue>;

END_TYPE

Definition eines Aufzählungstyps. Der Standardwert ist optional.

Aufzählungstypen mit definierten Werten

TYPE

<typeName> : (<enumValue>:=<integer value>, …,

<enumValue>:=<integer value>) := <defaultValue>;

END_TYPE

Definition eines Aufzählungstyps mit benutzerdefinierten Werten für jedes Element. Der Standardwert ist optional.

Arraytypen

TYPE

<typeName>: ARRAY [<from>..<to>,<from>..<to>] OF <typeName> :=

[<defaultValue>, <repetition>(<defaultValue>), …];

END_TYPE

Definition eines Arraytyps. Das Array kann mehrdimensional sein. Der Indexbereich wird für jede Dimension definiert. Zur Laufzeit werden die Grenzen des Arrays überprüft. Eine Grenzüberschreitung führt zu einem Laufzeitfehler. Die Standardwerte werden in aufsteigender Reihenfolge definiert, beginnend mit der letzten Dimension. Ein Wert kann wiederholt werden, indem er in Klammern gesetzt wird, denen die Anzahl der Wiederholungen vorangestellt wird. Wenn die Anzahl der definierten Standardwerte nicht mit der Arraygröße übereinstimmt, wird die Initialisierung abgeschnitten oder mit dem Standardwert des Elementtyps aufgefüllt. In beiden Fällen wird eine Kompilierzeit-Warnung ausgegeben.

Structure-Typen

TYPE

<typeName>: STRUCT

    <memberName>: memberType;

    …

END_STRUCT := (<memberName> := <defaultValue>, …);

END_TYPE

Definiert einen Structure-Typ mit den angegebenen Mitgliedern. Derzeit wird der Standardwert nach der Typdefinition eingefügt. Dieser Positionsstil unterscheidet sich von der ST-Norm.

Pointer-Typen

TYPE

    <typeName>: REF_TO <basetypeName>;

END_TYPE

Definiert einen Pointer-Typ mit dem angegebenen Basistyp.