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.