PBXA32 V2
V2 — Release vom 05.08.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-Paket: 62,5 MB (ZIP), PBXA32, PBXA64, PBXB64 und ScharffBasic inklusive PBX-Editor, CHM-Hilfe, 400 Beispiele, 354 Includes und 34 C17-Header
Written in ISO C11 (no C++, no GNU)
Target: x86-32 / PE32
Smoke 87/87, Staged 173/173, CTest 68/68
PBXA32.exe Authenticode-signiert (Certum, SHA-256-Zeitstempel)
Was V2 neu bringt
Seit V1 wurde PBXA32 an der Parameter-ABI, in der Laufzeit und in der Diagnostik gehärtet und liegt seit dem 05.08.2026 erstmals als vollständig qualifiziertes, signiertes Release vor.
Reparierte BYREF- und ABI-Pfade
BYREF-Lese- und -Schreibzugriffe über die gemeinsame Parameter-ABI, XTHREAD-Callback-Parameterübergabe, Managed-String-Zeiger bei LINE INPUT und Parser-Aufrufzeiger nach AST-Speicherwachstum.
Typisierte Arrays und Mathematik
Typisierte TAGARRAY-Kompilierung und -Laufzeit, korrekte DOUBLE-Array-Elementabbildung sowie SINCOS-Zieltyp-Wiederherstellung und konsistentes Math-Array-Verhalten.
Stress- und Robustheits-Abdeckung
Dauerhafte Deep-Nesting-Abdeckung und Name-Pool-Behandlung, begrenzte Timeouts in den Fuzz-, Math- und PE-Validierungs-Lanes sowie FOR-Schleifen- und Managed-Allocation-Stressrunner.
CBC-Vertrag und Diagnosen
Der CBC-Vertrag ist als numerische PBXA32-Erweiterung geschlossen; nicht unterstütztes CBCT schlägt fail-closed mit expliziter Zurückweisung fehl. Division-durch-Null-Diagnosen, veraltete Negativ-Test-Fixtures geschlossen.
Neue Hilfe, deterministisches Paket
Die CHM-Hilfe wurde neu erstellt. Das Endanwender-Paket entsteht deterministisch und wird durch ein SHA-256-Manifest abgesichert.
Qualifiziert und signiert
Smoke 87/87, Staged 173/173, CTest 68/68, CBC/CBCT 28/28, negative Diagnosen 59/59, Paket-Selbsttest 3/3. PBXA32.exe ist Authenticode-signiert (Certum, Sectigo SHA-256-Zeitstempel) und erzeugt native Windows-x86-Executables ohne externen Compiler oder Runtime.
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
All seven compiler stages are implemented and tested. 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
Completed Subsystems
| Stage | Status | Description |
|---|---|---|
| Preprocessor | Complete | Macro expansion, conditional compilation (#IF/#ENDIF), file includes |
| Lexer | Complete | PowerBASIC-aware tokenizer with full numeric literal support |
| Parser | Complete | Recursive-descent parser building full AST |
| Semantic | Complete | Type system, symbols, analyzer |
| IR | Complete | IR module and lowering |
| CodeGen | Complete | IR-to-x86 machine code generator |
| Assembler | Complete | x86/COFF assembler and object writer |
| Linker | Complete | PE32/i386 linker with import support |
| Runtime | Complete | Runtime library for compiled programs |
| Optimizer | 4 Stubs | Optimization pipeline scaffolded, ready for passes |
Architecture — From Source to PE32
PBXA32 jetzt im PBX-Compiler
PBXA32 V2 (Release 05.08.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.