Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

MODIFY-LISTING-PROPERTIES

&pagelevel(5)&pagelevel

Alias-Name:    SET-LISTING-PROPERTIES

Mit dieser Anweisung kann man auswählen, welche Übersetzungslisten der Compiler erzeugen soll. Außerdem kann man das Layout beeinflussen und den Ausgabeort der Listen festlegen. Der Aufbau der Compilerlisten wird im Abschnitt „Beschreibung der Listenbilder“ anhand von Beispielen erläutert.

MODIFY-LISTING-PROPERTIES

OPTIONS= *UNCHANGED / *YES / *NO

,SOURCE= *UNCHANGED / *NO / [*YES](...)


*YES(...)



|

MINIMAL-MSG-WEIGHT= *NOTE / *WARNING / *ERROR / *FATAL

,PREPROCESSING-RESULT= *UNCHANGED / *NO / *YES

,DATA-ALLOCATION-MAP= *UNCHANGED / *NO / [*YES](...)


*YES(...)



|

STRUCTURE-LEVEL= *UNCHANGED / *NONE / *MAX / <integer 0..256>

,CROSS-REFERENCE= *UNCHANGED / *NO / [*YES](...)


*YES(...)



|

PREPROCESSING-INFO= *UNCHANGED / *YES / *NO



|

,TYPES= *UNCHANGED / *YES / *NO



|

,VARIABLES= *UNCHANGED / *YES / *NO



|

,FUNCTIONS= *UNCHANGED / *YES / *NO



|

,LABELS= *UNCHANGED / *YES / *NO



|

,TEMPLATES= *UNCHANGED / *YES / *NO



|

,ORDER= *UNCHANGED / *STD / list-poss(6): *PREPROCESSING-INFO / *TYPES /



|


*VARIABLES / *FUNCTIONS / *LABELS / *TEMPLATES 

,PROJECT-INFORMATION= *UNCHANGED / *YES / *NO

,ASSEMBLER-CODE= *UNCHANGED / *YES / *NO

,SUMMARY= *UNCHANGED / *YES / *NO

,LAYOUT= *UNCHANGED / *FOR-NORMAL-PRINT(...) / *FOR-ROTATION-PRINT(...)


*FOR-NORMAL-PRINT(...)



|

LINE-SIZE= *UNCHANGED / *STD / <integer 120..255>



|

,LINES-PER-PAGE= *UNCHANGED / *STD / <integer 11..255>


*FOR-ROTATION-PRINT(...)



|

LINE-SIZE= *UNCHANGED / *STD / <integer 120..255>



|

,LINES-PER-PAGE= *UNCHANGED / *STD / <integer 11..255>

,INCLUDE-INFORMATION= *UNCHANGED / *NONE / *ALL / *USER-INCLUDES-ONLY

,LISTING-PRAGMAS= *UNCHANGED / *IGNORED / *INTERPRETED / *SELECT(...)


*SELECT(...)



|

PAGE= *UNCHANGED / *YES / *NO



|

,TITLE= *UNCHANGED / *YES / *NO



|

,SPACE= *UNCHANGED / *YES / *NO



|

,LIST= *UNCHANGED / *YES / *NO

,INITIAL-TITLE-TEXT= *UNCHANGED / *NONE / <c-string 1..256 with-low>

,OUTPUT= *UNCHANGED / *SYSLST / *SYSOUT / *STD-FILE / *SOURCE-LOCATION /





<filename 1..54> / <posix-pathname> / *LIBRARY-ELEMENT(...)


*LIBRARY-ELEMENT(...)



|

LIBRARY= *STD-LIBRARY / *SOURCE-LIBRARY / <filename 1..54> / *LINK(...)



|


*LINK(...)



|



|

LINK-NAME= <filename 1..8>



|

,ELEMENT= *STD-ELEMENT(...) / <composed-name 1..64 with-under>(...)



|


*STD-ELEMENT(...)



|



|

VERSION= *UPPER-LIMIT / *INCREMENT / <composed-name 1..24 with-under>



|


<composed-name 1..64 with-under>(...)



|



|

VERSION= *UPPER-LIMIT / *INCREMENT / <composed-name 1..24 with-under>

OPTIONS = *UNCHANGED / *YES / *NO

*YES: Der Compiler erzeugt eine Liste aller voreingestellten und vom Benutzer angegebenen Compiler-Optionen.

SOURCE = *UNCHANGED
Es gilt die Angabe der letzten MODIFY-LISTING-PROPERTIES-Anweisung.

SOURCE = *NO
Es wird keine Quellprogramm-/Fehlerliste erzeugt.

SOURCE = *YES(...)
Es wird eine Quellprogramm-/Fehlerliste erzeugt (nicht bei PREPROCESS).

MINIMAL-MSG-WEIGHT = *NOTE / *WARNING / *ERROR / *FATAL
Mit diesem Operanden lässt sich bestimmen, ab welchem Gewicht die Fehlermeldungen in der Quellprogrammliste stehen sollen.

Achtung:
Mit dieser Suboption kann die Menge der ausgegebenen Meldungen gegenüber der analogen Suboption von MODIFY-DIAGNOSTIC-PROPERTIES nur eingeschränkt werden, z. B. von WARNING auf ERROR.
Falls bei MODIFY-DIAGNOSTIC-PROPERTIES für MINIMAL-MSG-WEIGHT = *WARNING (Defaulteinstellung) angegeben wurde, kann mit MODIFY-LISTING-PROPERTIES nicht erreicht werden, dass Notes ausgegeben werden.

Beispiele

  1. In der Quellprogrammliste sollen Fehlermeldungen ab dem Gewicht NOTE ausgegeben werden:

    MODIFY-DIAGNOSTIC-PROPERTIES MINIMAL-MSG-WEIGHT=*NOTE
    MODIFY-LISTING-PROPERTIES SOURCE=*YES(MINIMAL-MSG-WEIGHT=*NOTE)
  2. Auf die Systemdatei SYSOUT sollen Fehlermeldungen ab dem Gewicht NOTE ausgegeben werden, in der Quellprogrammliste ab dem Gewicht WARNING:

    MODIFY-DIAGNOSTIC-PROPERTIES MINIMAL-MSG-WEIGHT=*NOTE
    MODIFY-LISTING-PROPERTIES SOURCE=*YES(MINIMAL-MSG-WEIGHT=*WARNING)

    (Defaulteinstellung)

Nach Erreichen von MAX-ERROR-NUMBER wird keine Quellprogramm-Information in der Quellprogramm-/Fehlerliste ausgegeben. In einem solchen Fall kann über dieses Listing kein Bezug zu Fehlerstellen mehr festgestellt werden.

PREPROCESSING-RESULT = *UNCHANGED /  *NO / *YES

*UNCHANGED

Es gilt die Angabe der letzten MODIFY-LISTING-PROPERTIES-Anweisung.

*NO

Der Compiler erzeugt keine Präprozessorliste.

*YES

Der Compiler erzeugt eine Präprozessorliste.

DATA-ALLOCATION-MAP = *UNCHANGED
Es gilt die Angabe der letzten MODIFY-LISTING-PROPERTIES-Anweisung.

DATA-ALLOCATION-MAP = *NO
Der Compiler erzeugt keine Adressliste.

DATA-ALLOCATION-MAP = *YES(...)
Der Compiler erzeugt eine Adressliste (nur bei COMPILE).

STRUCTURE-LEVEL = *UNCHANGED / *NONE / *MAX / <integer 0..256>

*UNCHANGED

Es gilt die Angabe der letzten MODIFY-LISTING-PROPERTIES-Anweisung.

*NONE

Strukturelemente werden in der Adressliste nicht abgebildet.

*MAX

Es werden Strukturelemente bis zur maximalen Schachtelungstiefe (256) in der Adressliste abgebildet.

<integer 0..256>

Es werden Strukturelemente bis zu der mit <integer> angegebenen Schachtelungstiefe in der Adressliste abgebildet. Bei Angabe der Schachtelungstiefe 0 werden keine Strukturelemente ausgegeben (entspricht STRUCTURE-LEVEL=*NONE).

Strukturelemente werden durch Einrückung und Klammerung {} dargestellt. Elemente der Schachtelungstiefe 16 oder höher werden nicht mehr eingerückt.

CROSS-REFERENCE = *UNCHANGED
Es gilt die Angabe der letzten MODIFY-LISTING-PROPERTIES-Anweisung.

CROSS-REFERENCE = *NO
Der Compiler erzeugt keine Querverweisliste.

CROSS-REFERENCE = *YES(...)

Der Compiler erzeugt eine Querverweisliste (nicht bei PREPROCESS). Die Querverweisliste enthält in jedem Fall ein FILETABLE-Teil mit den Namen aller Dateien, Bibliotheken und Elemente, die der Compiler als Quellen verwendet.
Die Querverweisliste wird pro Übersetzungseinheit, d.h. modullokal, angelegt. Um eine modulübergreifende Querverweisliste zu erhalten, können mit der Anweisung MODIFY-CIF-PROPERTIES CIF-Informationen erzeugt und anschließend mit dem globalen Listengenerator weiterverarbeitet werden.

PREPROCESSING-INFO = *UNCHANGED / *YES / *NO
Die Querverweisliste enthält wahlweise eine Liste der vom Präprozessor bearbeiteten Namen.

TYPES = *UNCHANGED / *YES / *NO
Die Querverweisliste enthält wahlweise eine Liste der benutzerdefinierten Typen (typedefs, Struktur-, Union-, Klassen- und Aufzählungstypen).

VARIABLES = *UNCHANGED / *YES / *NO
Die Querverweisliste enthält - mit *NO unterdrückbar - eine Liste der Variablen.

FUNCTIONS = *UNCHANGED / *YES / *NO
Die Querverweisliste enthält - mit *NO unterdrückbar - eine Liste der Funktionen.

LABELS = *UNCHANGED / *YES / *NO
Die Querverweisliste enthält - mit *NO unterdrückbar - eine Liste der Labels.

TEMPLATES = *UNCHANGED / *YES / *NO
Die Querverweisliste enthält wahlweise eine Liste der Templates (nur bei Übersetzungen im Modus C++ V3 oder C++2017).

ORDER = *UNCHANGED / *STD / list-poss(6): *PREPROCESSING-INFO / *TYPES / *VARIABLES / *FUNCTIONS / *LABELS / *TEMPLATES
Mit diesem Operanden kann die Reihenfolge festgelegt werden, in der die einzelnen Teile in der Querverweisliste aufgeführt werden.
*STD

Voreingestellt ist die oben nach list-poss angegebene Reihenfolge.

PROJECT-INFORMATION = *UNCHANGED / *YES / *NO

*UNCHANGED

Es gilt die Angabe der letzten MODIFY-LISTING-PROPERTIES-Anweisung.

*YES:

Der Compiler erzeugt eine Projektliste (nur bei COMPILE). Diese Liste zeigt die im Quellprogramm original verwendeten Namen und die entsprechenden Namen, die der Compiler für den Binder intern generiert. Dies ist insbesondere bei C++-Übersetzungen wichtig, weil in diesem Fall die genererierten Namen von Funktionen auch die Typen ihrer Parameter in codierter Form enthalten.
Die Projektliste wird pro Übersetzungseinheit, d.h. modullokal, angelegt. Um eine modulübergreifende Projektliste zu erhalten, können mit der Anweisung MODIFY-CIF-PROPERTIES CIF-Informationen erzeugt und anschließend mit dem globalen Listengenerator weiterverarbeitet werden.

*No:

Der Compiler erzeugt keine solche Liste.

ASSEMBLER-CODE = *UNCHANGED / *YES / *NO

*UNCHANGED

Es gilt die Angabe der letzten MODIFY-LISTING-PROPERTIES-Anweisung.

*YES:

Der Compiler erzeugt eine Objektcodeliste (nur bei COMPILE).

*No:

Der Compiler erzeugt keine solche Liste.

SUMMARY = *UNCHANGED / *YES / *NO

*UNCHANGED

Es gilt die Angabe der letzten MODIFY-LISTING-PROPERTIES-Anweisung.

*YES:

Der Compiler erzeugt eine Liste mit statistischen Angaben über den Compilerlauf.

*No:

Der Compiler erzeugt keine solche Liste.

LAYOUT =

Mit dieser Option kann die Seitenbreite (Anzahl Zeichen pro Zeile) und die Seitenhöhe (Anzahl Zeilen pro Seite) für die Compilerlisten bestimmt werden.

Bei Auswahl einer Zeilenbreite von 120 Zeichen erhalten alle Listen einen schmaleren Listenkopf und -fuß. Die Textzeilen werden nur bei den tabellarischen Listen (Optionen-, Querverweis- und Adressliste) entsprechend umgebrochen. Überlange Textzeilen in der Quellprogramm-, Präprozessor- und Objectcode-Liste werden beim Ausdruck abgeschnitten.

Bei Angabe einer BS2000-Ausgabedatei ist in jeder Zeile die erste Spalte für die Vorschubsteuerung reserviert.
Bei Ausgabe in eine POSIX-Datei werden die für POSIX passenden Kontrollzeichen für Zeilen- bzw. Seitenvorschub generiert. Dadurch wird die Zeilenlänge in der POSIX-Ausgabedatei bis zu 3 Zeichen größer als die gewählte Angabe für die Zeilenbreite.

LAYOUT = *UNCHANGED
Es gilt die Angabe der letzten MODIFY-LISTING-PROPERTIES-Anweisung.

LAYOUT = *FOR-NORMAL-PRINT(...)

Listen im Querformat.

LINE-SIZE = *UNCHANGED

Es gilt die Angabe der letzten MODIFY-LISTING-PROPERTIES-Anweisung.
Dies gilt auch dann, wenn diese Angabe bei *FOR-ROTATION-PRINT gemacht wurde.

LINE-SIZE = *STD
Es werden 132 Zeichen pro Zeile ausgegeben.

LINE-SIZE = <integer 120..255>
Es werden 120 bis 255 Zeichen pro Zeile ausgegeben.

LINES-PER-PAGE = *UNCHANGED
Es gilt die Angabe der letzten MODIFY-LISTING-PROPERTIES-Anweisung.
Dies gilt auch dann, wenn diese Angabe bei *FOR-ROTATION-PRINT gemacht wurde.

LINES-PER-PAGE = *STD
Es werden 64 Zeilen pro Seite ausgegeben.

LINES-PER-PAGE = <integer 11..255>
Pro Seite werden 11 bis 255 Zeilen ausgegeben.
Als Untergrenze sind 11 Zeilen festgelegt, damit pro Seite mindestens der Listenkopf und -fuß sowie eine Textzeile ausgegeben werden kann.

LAYOUT = *FOR-ROTATION-PRINT(...)

Listen im Hochformat. 

Um solche Listen auszudrucken, muss im PRINT-DOCUMENT-Kommando der ROTATION-Parameter angegeben werden.

LINE-SIZE = *UNCHANGED
Es gilt die Angabe der letzten MODIFY-LISTING-PROPERTIES-Anweisung.
Dies gilt auch dann, wenn diese Angabe bei *FOR-NORMAL-PRINT gemacht wurde.

LINE-SIZE = *STD
Es werden 120 Zeichen pro Zeile ausgegeben.

LINE-SIZE = <integer 120..255>
Es werden 120 bis 255 Zeichen pro Zeile ausgegeben.

LINES-PER-PAGE = *UNCHANGED
Es gilt die Angabe der letzten MODIFY-LISTING-PROPERTIES-Anweisung.
Dies gilt auch dann, wenn diese Angabe bei *FOR-NORMAL-PRINT gemacht wurde.

LINES-PER-PAGE = *STD
Es werden 84 Zeilen pro Seite ausgegeben.

LINES-PER-PAGE = <integer 11..255>
Pro Seite werden 11 bis 255 Zeilen ausgegeben.
Als Untergrenze sind 11 Zeilen festgelegt, damit pro Seite mindestens der Listenkopf und -fuß sowie eine Textzeile ausgegeben werden kann.

INCLUDE-INFORMATION = *UNCHANGED / *NONE / *ALL / *USER-INCLUDES-ONLY
Mit dieser Option lässt sich steuern, ob und welche Include-Dateien in der Quellprogramm-, Präprozessor- und Querverweisliste abgebildet werden. Standardmäßig werden die benutzereigenen Include-Dateien abgebildet, die Standard-Include-Dateien nicht.

LISTING-PRAGMAS =
Mit dieser Option lässt sich steuern, ob und welche im Quelltext vorhandenen #pragma-Anweisungen zur Gestaltung der Quellprogramm- und Präprozessorliste berücksichtigt werden sollen.
Die Beschreibung der #pragma-Anweisungen finden Sie im Abschnitt „Pragmas zum Steuern des Listenbildes“.

LISTING-PRAGMAS = *UNCHANGED
Es gilt die Angabe der letzten MODIFY-LISTING-PROPERTIES-Anweisung.

LISTING-PRAGMAS = *INTERPRETED / *IGNORED
Es werden alle #pragma-Anweisungen berücksichtigt (*INTERPRETED) bzw. ignoriert (*IGNORED).

LISTING-PRAGMAS = *SELECT(...)
Eine oder mehrere der folgenden #pragma-Anweisungen zur Listensteuerung werden berücksichtigt (*YES) oder ignoriert (*NO).

PAGE = *UNCHANGED / *YES / *NO
Anweisung #pragma PAGE [text]:
Seitenvorschub und wahlweise Zeile im Listenkopf

TITLE = *UNCHANGED / *YES / *NO
Anweisung #pragma TITLE text:
Zeile im Listenkopf

SPACE = *UNCHANGED / *YES / *NO
Anweisung #pragma SPACE [n]:
Einfügen von Leerzeilen

LIST = *UNCHANGED / *YES / *NO
Anweisung #pragma LIST[ING] ON oder #pragma LIST[ING] OFF:
Unterdrücken der Ausgabe von Quelltextzeilen

INITIAL-TITLE-TEXT = *UNCHANGED / *NONE / <c-string 1..256>
Mit dieser Option kann angegeben werden, ob im Listenkopf eine zusätzliche Zeile erscheinen und welcher Text dort stehen soll. Die INITIAL-TITLE-TEXT-Option bezieht sich, im Unterschied zu den Pragmas (nur Quellprogramm- und Präprozessorliste), auf alle Compilerlisten.
Bei der Quellprogramm- und Präprozessorliste haben ggf. vorhandene TITLE- und PAGE-Pragmas Vorrang vor der INITIAL-TITLE-TEXT-Angabe.

OUTPUT = *UNCHANGED
Es gilt die Angabe der letzten MODIFY-LISTING-PROPERTIES-Anweisung.

OUTPUT = *SYSLST
Die Listen werden standardmäßig in die temporäre Systemdatei SYSLST geschrieben, von wo aus sie nach Ende der Task (LOGOFF) auf den Drucker ausgegeben werden. In den Modi C++ V3 und C++ 2017 wird die Ausgabe nach SYSLST nicht unterstützt und mit einer entsprechenden Fehlermeldung abgewiesen.

OUTPUT = *SYSOUT
Die Listen werden auf die Systemdatei SYSOUT geschrieben, die im Dialogbetrieb der Datensichtstation zugeordnet ist. In den Modi C++ V3 und C++ 2017 wird die Ausgabe nach SYSOUT nicht unterstützt und mit einer entsprechenden Fehlermeldung abgewiesen.

OUTPUT = *STD-FILE

Die Listen werden in eine katalogisierte BS2000-Datei geschrieben. Der Name dieser Datei wird aus dem Namen des Quellprogramms abgeleitet:

Quelle

*SYSDTA

BS2000-Datei

PLAM-Bibliothek

POSIX-Datei

Standardname

CSTDLST.LST

datei.LST

bib-elem.LST

datei.LST

Wenn das Quellprogramm in einer PLAM-Bibliothek steht, werden im Standard-Dateinamen der Bibliotheks- und Elementname der Quelle verwendet und mit einem Bindestrich verbunden (bib-elem). Die Regeln zur Bildung der Standardnamen durch den Compiler sind ausführlich im Abschnitt „Standardnamen für Ausgabebehälter“ dargestellt.

OUTPUT = *SOURCE-LOCATION
Ausgabeort und Name werden wie folgt aus dem Ort und Namen des Quellprogramms abgeleitet:

Quelle

*SYSDTA

BS2000-Datei

PLAM-Bibliothek

POSIX-Datei

Ausgabeort

BS2000-Datei

BS2000-Datei

Bibliothek der
Quelle

Dateiverzeichnis
der Quelle

Standardname

CSTDLST.LST

datei.LST

elem.LST (Typ P)

datei.lst

Die Regeln zur Bildung der Standardnamen durch den Compiler sind ausführlich im Abschnitt „Standardnamen für Ausgabebehälter“ dargestellt.

OUTPUT = <filename 1..54>
Die Listen werden in eine katalogisierte BS2000-Datei mit dem angegebenen Namen geschrieben. Bei der Übersetzung mehrerer Quellprogramme ist diese Angabe nicht sinnvoll, weil die Datei jedes Mal überschrieben wird.

OUTPUT = <posix-pathname>

Die Listen werden in das POSIX-Dateisystem geschrieben.

Als <posix-pathname> ist sowohl ein Dateiname als auch ein Dateiverzeichnis zugelassen. Zur Beschreibung des Begriffs <posix-pathname> siehe "Compiler-Ein-/Ausgaben im POSIX-Dateisystem".

Bei der Angabe eines Dateinamens werden die Listen unter diesem Namen abgelegt.

Bei der Angabe eines Dateiverzeichnisnamens dvz werden die Listen für jedes übersetzte Quellprogramm unter dem Standardnamen quelldatei.lst in das Dateiverzeichnis dvz geschrieben (siehe auch Abschnitt „Standardnamen für Ausgabebehälter“).

Die mit <posix-pathname> angegebenen Dateiverzeichnisse müssen bereits existieren.Bei der Übersetzung mehrerer Quellprogramme ist die Angabe eines Dateinamens nicht sinnvoll, weil die Datei jedes Mal überschrieben wird.

OUTPUT = *LIBRARY-ELEMENT(...)
Es wird angegeben, in welcher PLAM-Bibliothek (LIBRARY=) und unter welchem Elementnamen (ELEMENT=) die Listen abgelegt werden sollen. Die Elemente werden unter dem Typ P abgespeichert.

LIBRARY = *STD-LIBRARY
Die Listen werden standardmäßig in die Bibliothek SYS.PROG.LIB geschrieben.

LIBRARY = *SOURCE-LIBRARY
Die Listen werden in die PLAM-Bibliothek geschrieben, in der das Quellprogramm steht.
Die Angabe *SOURCE-LIBRARY ist unzulässig, wenn das Quellprogramm aus einer katalogisierten BS2000-Datei, einer POSIX-Datei oder über SYSDTA eingelesen wird.

LIBRARY = <filename 1..54>
Die Listen werden in die PLAM-Bibliothek mit dem angegebenen Namen geschrieben.

LIBRARY = *LINK(...)

LINK-NAME = <filename 1..8>

Statt des Bibliotheksnamens kann auch ein Linkname angegeben werden. <filename> ist der Linkname der zugewiesenen Bibliothek. Er muss vor Aufruf des Compilers mit dem ADD-FILE-LINK-Kommando der PLAM-Bibliothek zugewiesen worden sein.

ELEMENT = *STD-ELEMENT(...)

Standardmäßig wird der Elementname der Listen aus dem Namen des Quellprogramms abgeleitet:


Quelle

*SYSDTA

BS2000-Datei

PLAM-Bibliothek

POSIX-Datei

Standardname

CSTDLST.LST

datei.LST

elem.LST

datei.LST

Die Regeln zur Bildung der Standardnamen durch den Compiler sind ausführlich im Abschnitt „Standardnamen für Ausgabebehälter“ dargestellt.

VERSION = *UPPER-LIMIT

Enthält die Elementangabe keine Versionsbezeichnung, verwendet der Compiler die höchstmögliche Version.

VERSION = *INCREMENT
Das Element erhält die gegenüber der höchsten vorhandenen Version um 1 inkrementierte Versionsnummer, vorausgesetzt, die höchste vorhandene Versionsbezeichnung endet mit einer inkrementierbaren Zahl. Ist die Versionsbezeichnung nicht inkrementierbar, wird eine Fehlermeldung ausgegeben und der Übersetzungslauf ohne Listengenerierung fortgesetzt.
Beispiel siehe COMPILE-Anweisung ("COMPILE").

Achtung: In den Modi C++ V3 und C++ 2017 ist die Angabe von *INCREMENT nicht erlaubt.

VERSION = <composed-name 1..24 with-under>
Das Element erhält die angegebene Versionsbezeichnung.

ELEMENT = <composed-name 1..64 with-under>(...)
Die Listen werden in ein Bibliothekselement (Typ P) mit dem angegebenen Namen geschrieben. Bei der Übersetzung mehrerer Quellprogramme ist die Angabe eines Elementnamens nicht sinnvoll, weil das Element jedes Mal überschrieben wird.

VERSION = *UPPER-LIMIT / *INCREMENT / <composed-name 1..24 with-under>
Die Version kann in gleicher Weise angegeben werden, wie oben unter ELEMENT=*STD-ELEMENT(...) beschrieben.

Achtung: In den Modi C++ V3 und C++ 2017 ist die Angabe von *INCREMENT nicht erlaubt.