Futuristische Compiler-Maschine in der SindByte Werkstatt
Technische Vorschau
PBXC64 1.0.0-rc50
Windows x64
Native PE32+
Parallele Compilerpipeline
Parallele EXE + GPU

Eine Toolchain. Ein nativer Weg bis zum Windows-Programm.

PBXC64 ist als vollständige Windows-x64-Compilerplattform entworfen: PowerBASIC-nahe Quelltexte, Inline-ASMX64 und später weitere Sprach-Frontends laufen über eine gemeinsame moderne Zwischendarstellung zu nativem Maschinencode. Assembler, Ressourcenverarbeitung, COFF-Objekte und PE32+-Ausgabe gehören zur eigenen Toolchain.

Damit entsteht kein Wrapper um fremde Compiler, sondern eine kontrollierbare Plattform für native EXE-, DLL- und OBJ-Ausgabe, präzise Diagnose und langfristige Spracherweiterung.

EinsatzprofilArchitektur entdecken

Gebaut für anspruchsvolle native Windows-Projekte

PowerBASIC weiterdenkenEin erweiterter PBXC64-Dialekt verbindet vertraute Syntax mit einer modernen 64-Bit-Architektur. Eigene Modi adressieren PBWin- und PBCC-Kompatibilität.
Toolchain unter KontrolleCompiler, ASMX64, Ressourcencompiler, COFF-Writer und PE-Linker sind als zusammengehörige Plattform konzipiert.
Offen für weitere SprachenJedes Frontend behält seine eigene Syntax und Semantik, nutzt danach aber dieselbe Optimierungs- und x64-Ausgabestrecke.

Moderne Compiler-Architektur statt direkter Syntaxübersetzung

PBXC64 bewahrt zunächst die Bedeutung des Programms in einer High-Level IR. Danach ermöglichen MIR mit SSA und Memory SSA tiefere Analysen und Optimierungen. LLIR und Machine IR führen kontrolliert zum x64-Backend. So bleiben Sprachlogik, Optimierung und Maschinencode sauber getrennt.

PowerBASIC / ASMX64 / weitere Frontends -> HIR -> MIR + SSA + Memory SSA -> Optimizer -> LLIR -> Machine IR -> x64 Codegen -> ASMX64 -> COFF / PE32+

Diese Struktur ist die Basis für mehrstufige Optimierung, Whole-Program-Analyse, sichere Parallelisierung und spätere Frontends, ohne den Backend-Code für jede Sprache neu zu bauen.

Parallelität auf zwei Ebenen

PBXC64 nutzt Parallelität nicht nur, um schneller zu kompilieren. Der Compiler kann auch Parallelität im Anwenderprogramm erkennen und in die erzeugte EXE einbauen.

1. Der Compiler arbeitet parallelDateien und Includes, Frontends, Funktionen, HIR/MIR/SSA-Aufbereitung, Optimizer, x64-Codegenerierung, ASMX64, COFF-Erzeugung, Ressourcen und Linkerarbeit können auf mehrere Worker verteilt werden. Das verkürzt die Build-Zeit besonders bei großen Projekten.
2. Das erzeugte Programm arbeitet parallelPBXC64 analysiert Datenabhängigkeiten, Speicherzugriffe, Aliase, Schleifen und Reduktionen. Unabhängige Arbeit kann als Task-Graph für einen nativen Work-Stealing-Threadpool ausgegeben werden. Sequentielle Ausführung bleibt für Debugging und reproduzierbares Verhalten wählbar.

Automatisch von der Schleife zu CPU-Kernen oder GPU

Eine Schleife über unabhängige Array-Bereiche kann zu einem parallelen FOR werden. Summen und andere geeignete Operationen können als parallele Reduktionen ausgeführt werden. Große String-, Vektor-, Matrix- oder UNL/UNF-Aufgaben können zusätzlich als GPU-Kandidaten markiert werden.

Sicherer StandardStandardmäßig wird nur nachweislich unabhängige Arbeit parallelisiert. Abhängigkeiten, I/O-Reihenfolge und mögliche Seiteneffekte bleiben erhalten.
Kostenbasierte WahlKleine und latenzkritische Aufgaben bleiben auf der CPU. Bei großen Datenmengen berücksichtigt der Planer Rechenaufwand, Speichertransfer und den Typ der verfügbaren GPU.
Direct3D 12 mit CPU-FallbackDer Windows-native GPU-Pfad ist auf Direct3D 12 Compute ausgelegt. Wenn GPU-Offloading nicht sinnvoll oder nicht verfügbar ist, bleibt ein CPU-Ausführungspfad erhalten.

Die komplette native Windows-Strecke

Vom Quelltext bis zur PE-DateiLexer, Parser, semantische Analyse, IR-System, Optimizer, x64-Backend, ASMX64, COFF-Objektwriter, Ressourcencompiler, Import-/Exporttabellen und PE-Linker bilden eine gemeinsame Architektur.
Keine externe Backend-KetteDas Produktkonzept sieht vor, dass PBXC64 den Kompiliervorgang selbst abschließt und dafür weder LLVM noch GCC-, MASM-, NASM- oder externe Linkerprozesse benötigt.

PowerBASIC-Kompatibilität mit Raum nach oben

Drei Sprachprofileenhanced nutzt den erweiterten PBXC64-Sprachumfang. pbwin und pbcc bieten klar wählbare Kompatibilitätspfade für Windows- und Konsolenprojekte.
Inline-ASMX64 mit Symbolbrücke#ASM ... #ENDA verbindet Hochsprache und x64-Assembly. Symbole und Typinformationen können kontrolliert zwischen Frontend und Assembler ausgetauscht werden.

Technik für rechenintensive Anwendungen

UNL und UNFNative Konzepte für unbegrenzt große Ganzzahlen sowie präzise Fließkomma-, Dezimal-, Festkomma- und rationale Zahlen.
Vektor, Matrix und IntervalleWissenschaftliche Datentypen sind Teil des Architekturmodells und können dadurch vom Compiler analysiert und gezielt optimiert werden.
CPU, Parallelität und GPUDas Design verbindet CPU-Feature-Dispatch, sichere automatische Parallelisierung und einen Windows-nativen Direct3D-12-GPU-Planer mit CPU-Fallback.

Ein Werkzeug für den gesamten Build-Pfad

Die Kommandooberfläche macht die einzelnen Fähigkeiten direkt nutzbar und hält Zwischenergebnisse sichtbar:

pbxc64 build source.bas -> kompilieren, assemblieren und linken
pbxc64 compile source.bas -> OBJ-, ASM- oder IR-Ausgabe
pbxc64 asm source.asmx -> mit ASMX64 assemblieren
pbxc64 link file1.obj ... -> mit dem internen Linker verbinden
pbxc64 rc file.rc -> Windows-Ressourcen kompilieren
pbxc64 dump / verify -> Artefakte untersuchen und prüfen

PBXC64 ist derzeit eine technische Vorschau

Diese Seite zeigt das Produktprofil und die Zielarchitektur. Ein öffentlicher Download folgt, sobald eine zusammenhängende, für Anwender testbare Vorschau bereitsteht. Bis dahin bleibt PBXB64 das freigegebene Haupt-Downloadprodukt.

RC50Vorschau der neuen Plattformgeneration

Weiter in der Compiler-Werkstatt

PBXB64 ist das aktuelle Haupt-Downloadprodukt mit freigegebenem Paket, Hilfe und älteren Versionen.

PBXB64 V14 herunterladenAlle Compiler ansehen