PBXB64 - Compiler Werkstatt
V4 — Native x86-64 Multi-Frontend Compiler

PBXB64 V4 RELEASE

PBXB64 ist ein nativer Windows-Compiler, geschrieben in reinem C17. Fünf Sprachen — B64, BASIC, C, ASM, PILOT — laufen über eine einzige IR-Pipeline und einen x64-Backend zu nativem PE32+. Kein GCC, kein LLVM, keine externe Toolchain. Direkte x64-Instruction-Selection, eigener Assembler, eigener COFF/PE-Linker. FOR/NEXT vollständig für alle 7 Integer-Typen plus Float. 318/318 Tests grün, signiertes Build, UPX-gepackt auf ~856 KB.

318/318 Tests 5 Sprach-Frontends UPX-Packed 856 KB 8-Stufen-Pipeline Win64 Native Digital signiert
PBXB64 V4 herunterladen (ZIP) Dokumentation (CHM) ZIP-Downloads: --  ·  CHM-Downloads: --

Paket: ~8.9 MB (ZIP) — Compiler, CHM, 1233 .pbi Includes, 127 Samples

Digital signiert von Theo Gottwald

318/318 Tests bestanden

5Sprach-Frontends: B64, BASIC, C, ASM, PILOT
318/318Tests grün — 0 Fehler, 0 expected fails
8Stufen-Pipeline: Lex → Parse → IR → Opt → CodeGen → Asm → COFF → PE
856 KBUPX-gepackt — vollständige Toolchain in einer Binary

Test-Lane: Was grün ist

Das vollständige PBXB64-Build wird von einer automatisierten Test-Suite begleitet, die Assembly-Erzeugung, Linker-Auflösung und Runtime-Korrektheit für jede Sprache und jedes Feature prüft.

190/190Assembly (-S)
20/20PB Link+Run
13/13B64 Link+Run
63/63C Compile
1/1C Link+Run

Warum PBXB64?

Echter nativer x64-Code

Keine Abhängigkeit von GCC, LLVM oder einer C-Runtime. Der Compiler erzeugt direkt x64-Maschinencodes – vom PowerBASIC- oder B64-Quelltext zur ausführbaren PE32+-Datei in einem einzigen Durchlauf. Maximale Kontrolle, minimale Binary-Größe, keine Überraschungen durch Drittanbieter-Toolchains.

Multi-Frontend: 5 Sprachen

Schreibe Code in B64, PowerBASIC, C (C17-Subset), PILOT oder direktem x64-Assembler – alles im selben Projekt. Der Compiler mischt die Sprachen auf IR-Ebene und erzeugt eine gemeinsame PE. Eine neue Sprache hinzufügen und der gesamte native Backend steht sofort zur Verfügung.

Eigener x64-Backend

Direkte Instruction-Selection, Register-Allokation, Peephole-Optimierung und PE32+ Image-Generierung — geschrieben in C17. Der gesamte Backend umfasst ~14.000 Zeilen in core/source/backend/x64/ plus eine ~5.000-Zeilen native x64-Assembler-Encoder. Keine externen Abhängigkeiten, keine Überraschungen.

Eigener PE32+-Linker

Kein externer Linker nötig. Der integrierte Linker verarbeitet COFF-Objekte, generiert Import-Tabellen, Reloc-Sektionen, TLS- und Exception-Daten. Volle PE32+-Kompatibilität mit Windows XP bis Windows 11.

Sprach-Frontends im Detail

B64 (.b64)

C-ähnliche Systemsprache mit manueller Speicherverwaltung, rohen Pointern, Structs, Funktionspointern und globalen Variablen. Primäres Frontend — Systemcode mit derselben Pipeline kompilieren, die auch BASIC und PILOT verarbeitet. 13/13 Link+Run-Tests grün.

PowerBASIC (.pb, .bas)

PowerBASIC-kompatibler Dialekt: FUNCTION/SUB, LOCAL/GLOBAL/SHARED, TYPE/UNION/ENUM, vollständige FOR/NEXT-Semantik für alle Integer- und Float-Typen, negativer STEP, geschachtelte Schleifen. 20/20 Link+Run-Tests grün.

C (.c, .h)

C17-Subset: #include, #define, #if/#ifdef/#endif, vollständige Lexer/Parser, struct/union/typedef/enum, switch/case, function pointers. 33 C17-Header-Dateien mitgeliefert. 63/63 Compile-Tests + 1/1 Link+Run-Test grün.

Inline-Assembly (.asm, .s)

Direkter x64-Assembler mit Intel- und AT&T-Syntax. Native COFF/PE-Emission ohne Umweg über eine Zwischensprache. Volle Kontrolle über Register, SSE und System-Calls.

PILOT (.pil)

Bildungsorientierte Sprache. Vollständige T:/A:/M:/Y:/N:/J:/U:/E:-Befehle, bedingte Suffixe, Pattern Matching. Ideal für Lehre und einfache Skripte.

Mixed-Language-Projekte

PowerBASIC + Inline-ASM im selben Modul. B64 ruft C-Funktionen. PILOT steuert ein C-Programm. Der gemeinsame IR-Layer macht’s möglich.

Quick Examples

B64

fn add(a: i32, b: i32): i32 { return a + b; } fn main(): i32 { let x: i32 = add(40, 2); return x; // 42 }

PowerBASIC

FUNCTION PBMAIN() AS LONG LOCAL g AS LONG g = 0 FOR i = 1 TO 3 g = g + i NEXT FUNCTION = g ' = 6 END FUNCTION

C

#include int main(void) { printf("Hello from PBXB64 C!\n"); return 0; }

V4 Highlights — FOR/NEXT Coverage

V4 löst das langjährige "FOR-Body constant-fold" Problem und fügt vollständige FOR/NEXT-Typabdeckung pro PB-Spezifikation hinzu. Float-FOR wurde in Z62 vollständig debuggt und läuft jetzt zuverlässig.

KategorieDetails
Integer FOR7 intlike Typen (LONG, INTEGER, QUAD, DWORD, WORD, BYTE, CURRENCY) — positiv und negativ STEP
Float FORSINGLE, DOUBLE — FOR f = 1.0 TO 3.0 — vollständig debuggt in Z62
Nested Loops2-deep, 3-deep, mit abhängigen Bounds FOR j = 1 TO i
Backend-KorrektheitSSE movq ModRM, SSE-arith ModRM, peephole pass 4 imm64-Truncation, SETCC partial-write, peephole dead-reg, PB Frontend slot-float const-fold — alle 5 gefixt

Architektur — From Source to Silicon

Source (.b64/.pb/.c/.asm/.pil) |-> Lexer (per-language tokenizer, ~3.000 LOC total) |-> Parser (per-language AST, ~12.000 LOC total) |-> IR Builder (unified intermediate representation) |-> Optimizer (pass manager, CFG, dominance, ~6.000 LOC) |-> x64 CodeGen (register allocation, instruction selection, ~14.000 LOC) |-> Assembler (x64 encoding, fixups, ~5.000 LOC) |-> COFF Writer (object file emission) |-> PE Linker (import table, relocations, PE32+ image, ~3.000 LOC)

Build & Run

Build (Windows + MinGW)

cd core build_mingw64.bat build\PBXB64.exe --version # PBXB64 version 0.50.0-z62

Compile a PB program

PBXB64 hello.pb -o hello.exe hello.exe echo %ERRORLEVEL%

Compile a B64 program

PBXB64 answer.b64 -o answer.exe answer.exe # exits 42

Compile a C program

PBXB64 -std=c17 hello.c -o hello.exe hello.exe

Was ist im ZIP-Paket?

Datei / OrdnerInhalt
PBXB64.exe856 KB UPX-gepackter Compiler, digital signiert (Theo Gottwald)
PBXB64_Help.chmKompilierte Windows-Hilfe mit Befehlsreferenz
README.mdRelease-Notes, Lizenz, Kontakt
SHA256.txtSHA-256-Hashes für Integritätsprüfung
Includes/1233 PB-Include-Dateien (.pbi) für Windows-API, JSON, HTTP, OAuth, SMTP, COM, NetX, u.v.m.
Samples/127 Beispielprogramme in 5 Kategorien (asm, b64, basic, c, pb)

PBXB64 V4 jetzt herunterladen

Vollständiges Release-Paket: Compiler, CHM-Hilfe, 1233 PB-Include-Dateien, 127 Beispielprogramme. UPX-gepackt auf 856 KB, digital signiert von Theo Gottwald.