PBXB64 V23 language reference
Rust unterstützte Befehle und Umfang
Einzelner Crate-Root/Module, x86-64 Windows, typisierte Skalare, Structs/Enums/Traits/Generics/Closures, feste macro_rules-Formen, Vec/Box/Option/Result/Cell und C-FFI. Kein Cargo, keine vollständige std, keine prozeduralen Makros, kein Unwinding, keine Grafik/GUI/I/O und kein vollständiger Borrow-/Lifetime-Checker.
Status: experimentell. Source basis: PBXB64/docs/RUST_SCOPE.md und PBXB64/src/frontends/rust (Lexer, macro_rules-Expander, Parser, Lowerer).
Zur SprachdetailseitePBXB64-ÜbersichtEnglishLexical / Lexik
| Name | Syntax / form | Scope | Boundary |
|---|---|---|---|
| literals | 0x / 0o / 0b; i8..u64; usize/isize | Integer-/Float-/Char-/Stringliterale und Trenner. | Byte-Literale, Hash-Raw-Strings und Hex-/Unicode-Char-Escapes werden abgewiesen. |
Items and types / Items und Typen
| Name | Syntax / form | Scope | Boundary |
|---|---|---|---|
| fn struct enum union | fn name(...) -> T | Funktionen, Structs, Enums und unsichere Union-Lesezugriffe. | Quellen-/syntaxgestütztes Subset; keine Vollsprachen- oder Gesamtqualifikation behauptet. |
| trait impl dyn | trait T { ... } | Traits, impl-Blöcke und dyn-Trait-Objekte. | Monomorphisierung ist begrenzt; vollständiges rustc-Layout wird nicht behauptet. |
| mod use extern | mod name; use path; extern "C" | Module, Imports und C-/System-ABI-Deklarationen. | Ungelöste Pfade und unsupported ABIs werden diagnostiziert. |
Expressions and control / Ausdrücke und Ablauf
| Name | Syntax / form | Scope | Boundary |
|---|---|---|---|
| if match loop while for | if cond { ... } | Verzweigungen, Schleifen, Labels, Pattern-Matching und break/continue. | Offene for-Ranges und unsupported Patterns werden abgewiesen. |
| Option / Result / ? | value? | Eingebaute Result-Weitergabe und Methoden. | 30-Option- und 25-Result-Methoden sind deklariert; Runtime-Fehler-Exits sind begrenzt. |
| Vec / Box / Cell | Vec<T>, Box<T>, Cell<T> | Eingebaute Allokations-/Containeroberflächen. | Die Standardbibliothek außerhalb der deklarierten Builtin-Oberfläche liegt außerhalb des Subsets. |
Traits, closures, macros / Traits, Closures, Makros
| Name | Syntax / form | Scope | Boundary |
|---|---|---|---|
| generics / traits | fn f<T: Trait>(...) | Generische Items, Bounds, assoziierte Typen/Konstanten. | Quellen-/syntaxgestütztes Subset; keine Vollsprachen- oder Gesamtqualifikation behauptet. |
| closures | |x| expr | Closures mit Capture-Analyse und Umwandlung zu Funktionspointer/Box<dyn Fn>. | Quellen-/syntaxgestütztes Subset; keine Vollsprachen- oder Gesamtqualifikation behauptet. |
| macro_rules! | macro_rules! m { ... } | Deklarative Makros mit festen Matcherformen. | 16 Regeln, 64 Expansionspässe und 32 Hygiene-Locals sind Limits; prozedurale Makros fehlen. |
FFI and failure / FFI und Fehler
| Name | Syntax / form | Scope | Boundary |
|---|---|---|---|
| extern "C" | extern "C" fn | Win64-C-ABI-Deklarationen/-Definitionen. | Nur C-, Rust- und System-ABIs werden akzeptiert. |
| unsafe | unsafe { ... } | Unsafe-Blöcke für Raw Pointer/Union-Lesen. | Borrow-/Lifetime-Prüfung über Escape/Mutability hinaus fehlt. |