Der VDM-Compiler
Die Implementationen
TUPLE (tupl)
- Datentyp(en):Beliebige Elementtypen
- Repräsentation:
Pointer auf C-union mit einem zusätzlichen ,,tag-field`` zur
Erkennung des aktuellen Inhalts
- Parameter:MACROS: Operationen werden (wenn
möglich) durch Makros realisiert, dadurch wird das Programm schneller, aber
größer (Flag, Default: 0)
- NOCHECK: Keine Prüfung bei Selektions-Funktionen auf korrekten
aktuellen Inhalt -- das ,,tag-field`` wird ignoriert (Flag, Default: 0).
Wenn MACROS = 1 ist, ist NOCHECK auch = 1
- ALLOC: Strategie der Speicherallokation (Default:
,,vmalloc``)
- Anmerkungen: Brauchbar bei rekursiven ADT
- Zugriff benötigt eine Pointer-Indirektion (langsamer als ,,union``)
- Zuweisung erfolgt durch Pointer-Zuweisung (schneller als ,,union``)
- Datentyp(en):Beliebige Elementtypen
- Repräsentation: C-union mit
einem zusätzlichen ,,tag-field`` zur Erkennung des aktuellen Inhalts
- Parameter:MACROS: Operationen werden (wenn
möglich) durch Makros realisiert, dadurch wird das Programm schneller, aber
größer (Flag, Default: 0)
- NOCHECK: Keine Prüfung bei Selektions-Funktionen auf korrekten
aktuellen Inhalt -- das ,,tag-field`` wird ignoriert (Flag, Default: 0).
Wenn MACROS = 1 ist, ist NOCHECK = 1
- Anmerkungen: Zugriff benötigt keine
Pointer-Indirektion (schneller als ,,ptunion``)
- Zuweisung erfolgt durch Kopieren (langsamer als ,,ptunion``)
VDM Class Library