PBXA32 V24
V24 — im V8-Paket (Build vom 02.10.2026)
A complete x86-32 compiler pipeline written in ISO C11. From PowerBASIC source through preprocessor, lexer, parser, semantic analysis, IR, x86 code generation, COFF assembly, and PE32 linking — all in one toolchain. No C++ dependencies. No GNU extensions. Just pure standard C11 producing native Windows PE32 executables.
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.
Written in ISO C11 (no C++, no GNU)
Target: 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.
Why PBXA32 Matters
Pure C11 Implementation
The entire compiler — lexer, parser, preprocessor, code generator, assembler, linker, runtime — is written in standard ISO C11. No C++. No GNU extensions. Builds with any C11-compliant compiler including MinGW-w64, MSVC, and Clang.
Complete x86-32 Pipeline
The seven compiler stages form the native x86-32 pipeline. Tokenize PowerBASIC syntax, build an AST, lower to IR, generate x86 machine code, emit COFF objects, and link to PE32 — a full end-to-end compiler in C.
PowerBASIC Compatible
Supports directives (#COMPILE, #INCLUDE, #DIM), procedures (FUNCTION, SUB, CALLBACK), control flow (IF, SELECT, FOR, DO, WHILE), jumps (GOTO, GOSUB), aggregates (TYPE, UNION, ENUM), and classic type suffixes (% & && ! # $ @).
Per-Subsystem Smoke Tests
Every stage has its own dedicated smoke test. Test the lexer independently. Test the parser. Test the assembler. Test the linker. Isolate bugs to their layer without compiling full programs.
Quick Example
Implemented Subsystems
| Stage | Status | Description |
|---|---|---|
| Preprocessor | Implemented | Macro expansion, conditional compilation (#IF/#ENDIF), file includes |
| Lexer | Implemented | PowerBASIC-aware tokenizer with full numeric literal support |
| Parser | Implemented | Recursive-descent parser building full AST |
| Semantic | Implemented | Type system, symbols, analyzer |
| IR | Implemented | IR module and lowering |
| CodeGen | Implemented | IR-to-x86 machine code generator |
| Assembler | Implemented | x86/COFF assembler and object writer |
| Linker | Implemented | PE32/i386 linker with import support |
| Runtime | Implemented | Runtime library for compiled programs |
| 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. |
Architecture — From Source to 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.
Downloads pro Tag
Tägliche Download-Statistik für alle angebotenen Dateien der letzten 28 Tage (rollierend). Jede Download-Datei behält ihre eigene Farbe.
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