Inhaltsverzeichnis

Lyx – Datentypen

Diese Seite gibt einen technischen Überblick über die aktuell unterstützten Datentypen in Lyx sowie deren Implementierungsstatus im Compiler (Stand v0.9.0).

Aktuell unterstützte Datentypen

1. Ganzzahl-Typen (signiert)

Typ Bits Wertebereich Status Literale
int8 8 -128 bis 127 ✅ Full 42i8
int16 16 -32,768 bis 32,767 ✅ Full 42i16
int32 32 -2,147,483,648 bis 2,147,483,647 ✅ Full 42i32
int64 64 -9,223,372,036,854,775,808 bis … ✅ Full 42
int 64 Alias für int64 ✅ Full 42

2. Ganzzahl-Typen (unsigniert)

Typ Bits Wertebereich Status Literale
uint8 8 0 bis 255 ✅ Full 42u8
uint16 16 0 bis 65,535 ✅ Full 42u16
uint32 32 0 bis 4,294,967,295 ✅ Full 42u32
uint64 64 0 bis 18,446,744,073,709,551,615 ✅ Full 42u64

3. Plattform-abhängige Typen

Typ Beschreibung Status Anmerkung
isize Pointer-Größe (signiert) ✅ Full Geprüft auf x86_64, ARM64, RISC-V
usize Pointer-Größe (unsigniert) ✅ Full Standard für Array-Indizes

4. Fließkomma-Typen

Typ Bits IEEE 754 Status Literale
f32 32 single ✅ Full 3.14f32
f64 64 double ✅ Full 3.14

5. Komplexe Typen & Container

Typ Beschreibung Status Literale / Syntax
array<T> Dynamisches Array (Heap) ✅ Full [1, 2, 3]
parallel Array<T> SIMD-optimiertes Array ✅ Full parallel Array<int>(100)
Map<K, V> Hash-Map (Assoziativ) ✅ Full {key: value}
type S = struct Stack-allozierte Struktur ✅ Full S { x: 10 }
type C = class Heap-allozierte Klasse ✅ Full new C()

6. Zeichen- und String-Typen

Typ Beschreibung Status Literale
char Ein ASCII-Zeichen ✅ Full 'a'
pchar Nullterminierter String (Pointer) ✅ Full „hello“

7. Spezial-Typen

Typ Beschreibung Status Verwendung
bool Wahrheitswert ✅ Full true, false
qbool Probabilistischer Quanti-Typ ✅ Full 0.5q (50% true)
any Typsichere Wildcard ⚠️ Partial Generics

8. Range-Typen (Sicherheitskritisch)

Lyx unterstützt die Definition von Integer-Typen mit eingeschränkten Wertebereichen.

 
Zertifizierungs-Hinweis:
Range-Typen sind ein essenzielles Feature zur Erfüllung der DO-178C Anforderungen. Sie verhindern ungültige Systemzustände durch strikte Werteprüfung zur Compile- und Laufzeit.
Details zur Implementierung finden Sie unter: DO-178C Compliance.

Syntax

type Altitude = int64 range -1000..60000;
type Speed    = int64 range 0..300;

Implementierungsdetails

Speicherverwaltung & Storage

Keyword Speicherort Änderbar Besonderheit
var Stack / Data Ja Mutable Variable
let Stack / Data Nein Immutable nach Init
co Stack Nein Runtime-constant
con - Nein Compile-time constant (Immediate)

Typkonvertierung & Prüfung

Status-Update: v0.9.0