PBXA32 V24
V24 — im V8-Paket (Build vom 02.10.2026)
Eine vollständige x86-32 Compiler-Pipeline geschrieben in ISO C11. Von PowerBASIC-Quellcode durch Präprozessor, Lexer, Parser, semantische Analyse, IR, x86-Codegenerierung, COFF-Assemblierung und PE32-Linking — alles in einer Toolchain. Keine C++-Abhängigkeiten. Keine GNU-Erweiterungen. Reines, standardkonformes C11, das native Windows PE32-Executables erzeugt.
PBX-Compiler V8: 349.086.784 Bytes (332,9 MiB / 349,1 MB). Enthält PBXA32 V24, PBXA64 V10, PBXB64 V23, PBXC64 RC50, ScharffBasic und den PBX-Editor samt Hilfen, Includes und Beispielen.
Geschrieben in ISO C11 (kein C++, kein GNU)
Ziel: x86-32 / PE32
Historische Testzahlen sind kein aktueller Vollqualifikationsnachweis für die signierte V24-EXE.
PBXA32.exe UPX-gepackt; der Signaturstatus ist separat dokumentiert (Certum, SHA-256-Zeitstempel)
Neu in PBXA32 V24
Module und Klassen
MODULE … END MODULE mit INTERFACE/IMPLEMENTATION, USES, PRIVATE, EXPORT sowie Initialisierung und Finalisierung. Module erfordern --profile=pbx32; der Standard bleibt strict PBWIN. Klassen unterstützen Wertinstanzen, ME, Methoden und verschachtelte Klassenfelder.
Parsing und echte PE-Ressourcen
PARSE, PARSE$ und PARSECOUNT unterstützen ANY/BINARY. #RESOURCE erstellt ein echtes PE-Ressourcenverzeichnis, unter anderem für VERSIONINFO, ICON, BITMAP, MANIFEST, RCDATA und STRINGTABLE.
Deklarationen, Optimierung und Interop
LOCAL/DIM/STATIC-Platzierung und Frame-Hoisting, O2/O3-HIR-Operandenreihenfolge, typisiertes POKE sowie SIZEOF/ALIGNOF/OFFSETOF und MEMCPY/MEMSET unter DIM ALL. Importdeklarationen berücksichtigen optionale Parameter und BYVAL/BYREF/BYCOPY-ASCIIZ-Verträge.
Präprozessor und praktische Grenzen
#IF-Konstanten, #SELECT, #ERROR/#WARN/#MESSAGE, DEFINE/UNDEF zum jeweiligen Quelltextzeitpunkt sowie Include-once-/Zyklusprüfungen wurden gehärtet. GLOBAL/STATIC-Initialisierer akzeptieren derzeit literale Ganzzahlen, optional negativ; andere Formen erzeugen Warnung 3002 und Nullinitialisierung. Managed STRING lokal in einem Block mit frühem Ausstieg bleibt bei O2/O3 eine bekannte Grenze: am Prozeduranfang deklarieren.
Warum PBXA32 wichtig ist
Reine C11-Implementierung
Der gesamte Compiler - Lexer, Parser, Präprozessor, Codegenerator, Assembler, Linker und Laufzeit - ist in standardkonformem ISO C11 geschrieben. Kein C++. Keine GNU-Erweiterungen. Der Build funktioniert mit C11-kompatiblen Compilern wie MinGW-w64, MSVC und Clang.
Vollständige x86-32-Pipeline
Die sieben Compilerstufen bilden die native x86-32-Pipeline. PowerBASIC-Syntax wird tokenisiert, in einen AST überführt, in IR abgesenkt, zu x86-Maschinencode verarbeitet, als COFF-Objekt ausgegeben und zu PE32 gelinkt - ein vollständiger Compiler in C.
PowerBASIC-kompatibel
Unterstützt Direktiven (#COMPILE, #INCLUDE, #DIM), Prozeduren (FUNCTION, SUB, CALLBACK), Kontrollfluss (IF, SELECT, FOR, DO, WHILE), Sprünge (GOTO, GOSUB), Aggregate (TYPE, UNION, ENUM) und klassische Typsuffixe (% & && ! # $ @).
Subsystem-Smoke-Tests
Jede Stufe besitzt einen eigenen Smoke-Test. Lexer, Parser, Assembler oder Linker können unabhängig getestet werden, damit Fehler auf ihre jeweilige Schicht eingegrenzt werden können, ohne vollständige Programme zu kompilieren.
Kurzes Beispiel
Implementierte Subsysteme
| Stufe | Status | Beschreibung |
|---|---|---|
| Präprozessor | Implementiert | Makroexpansion, bedingte Kompilierung (#IF/#ENDIF), Datei-Includes |
| Lexer | Implementiert | PowerBASIC-bewusste Tokenisierung mit vollständiger Unterstützung numerischer Literale |
| Parser | Implementiert | Rekursiver Descent-Parser zum Aufbau des vollständigen AST |
| Semantik | Implementiert | Typsystem, Symbole und Analyse |
| IR | Implementiert | IR-Modul und Absenkung |
| CodeGen | Implementiert | Generator für x86-Maschinencode aus der IR |
| Assembler | Implementiert | x86/COFF-Assembler und Objekt-Writer |
| Linker | Implementiert | PE32/i386-Linker mit Unterstützung für Imports |
| Laufzeit | Implementiert | Laufzeitbibliothek für kompilierte Programme |
| Optimizer | O2/O3 HIR | V24 härtet HIR-Operandenreihenfolge und Deklarations-/Frame-Hoisting. Managed STRING im Block mit frühem Ausstieg bleibt eine dokumentierte O2/O3-Grenze. |
Architektur — Von der Quelle zu PE32
PBXA32 jetzt im PBX-Compiler
PBXA32 V24 (im V8-Paket, Build vom 02.10.2026) steht im PBX-Compiler zum Download bereit — zusammen mit PBXA64, PBXB64, ScharffBasic und dem PBX-Editor.
Private Nutzung kostenlos, Business sauber lizenziert
Private, nicht-kommerzielle Nutzung ist kostenlos. Business-, Team- und kommerzielle Nutzung läuft über Smart Package Robot oder per E-Mail an info@it-berater.org.
Download-Entwicklung
Tägliche Abrufe aller angebotenen Downloads der letzten 28 Tage (rollierend). Jede Download-Datei ist dauerhaft durch eine eigene Farbe gekennzeichnet.
Aktueller Download und Releasegrenzen
PBX-Compiler V8: 349.086.784 Bytes (332,9 MiB / 349,1 MB). Enthält PBXA32 V24, PBXA64 V10, PBXB64 V23, PBXC64 RC50, ScharffBasic und den PBX-Editor samt Hilfen, Includes und Beispielen.
Die ausgelieferte EXE meldet ausdrücklich PBXA32 Compiler V24 version 1.8.0.0 und hat eine gültige Signatur. Ihr Compilerpayload entspricht der lokalen V24-Release-EXE vor Signierung. Einige mitgepackte Textmetadaten tragen noch das frühere Ordnerlabel V4. Historische Testzahlen sind kein neu erbrachter Vollqualifikationsnachweis für diese signierten Bytes.
Aktuelle CHM-ReferenzV8-Paketprüfsumme