Diese Seite gibt einen technischen Überblick über die aktuell unterstützten Datentypen in Lyx sowie deren Implementierungsstatus im Compiler (Stand v0.9.0).
| 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 |
| 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 |
| 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 |
| Typ | Bits | IEEE 754 | Status | Literale |
|---|---|---|---|---|
| f32 | 32 | single | ✅ Full | 3.14f32 |
| f64 | 64 | double | ✅ Full | 3.14 |
| 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() |
| Typ | Beschreibung | Status | Literale |
|---|---|---|---|
| char | Ein ASCII-Zeichen | ✅ Full | 'a' |
| pchar | Nullterminierter String (Pointer) | ✅ Full | „hello“ |
| Typ | Beschreibung | Status | Verwendung |
|---|---|---|---|
| bool | Wahrheitswert | ✅ Full | true, false |
| qbool | Probabilistischer Quanti-Typ | ✅ Full | 0.5q (50% true) |
| any | Typsichere Wildcard | ⚠️ Partial | Generics |
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.
type Altitude = int64 range -1000..60000; type Speed = int64 range 0..300;
panic ausgelöst.| 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) |
as-Operator (z.B. val as int32).pchar? (Nullable) mit Null-Coalescing Operator ??.