Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03349.jsonl.gz/2458

Für die TagItems (siehe 5.1.9) musste ein Weg gefunden werden, die Tag-Konstanten zu deklarieren.
In der Programmiersprache C sieht das so aus:
enum{WA_Dummy=TAG_USER+99, WA_Left, WA_Top, ... };
Der erste Versuch für sieht so aus:
CONST waLeft=tagUser+100; waTop=tagUser+101; ...
Dies ist nicht nur sehr aufwendig, sondern auch sehr fehleranfällig. Zudem werden dadurch die IMPORT-Listen extrem lang.
Die in verwendete Lösung definiert eine neue Syntax für Aufzählungstypen:
Hierbei wird die Ordinalzahl des ersten Elements durch ConstExpr festgelegt und bei den folgenden entsprechend weitergezählt.
Somit lautet die Deklaration nun:
Dabei dürfen nur positive Werte verwendet werden. Sets sind weiterhin nur mit normalen Aufzählungstypen, deren Untergrenze 0 ist, erlaubt.