PBXB64 Architektur

5-Sprachen-Compiler-Architektur PBXB64-Erweiterung

PBXB64 ist der einzige Windows-Compiler, der fünf Sprachen durch eine einzige Pipeline zu nativem x64-Maschinencode kompiliert - kein GCC, kein LLVM, keine externen Abhängigkeiten. Jedes Frontend (B64, PowerBASIC, C, PILOT, ASM) speist in denselben vereinheitlichten IR, Optimizer und x64-Backend.

Die 8-Stufen-Pipeline

Quelle → Ausführbare Datei
Quelle (.b64 / .pb / .c / .asm / .pil) | +--> Lexer (sprachspezifischer Tokenizer, ~3.000 LOC) +--> Parser (sprachspezifischer AST, ~12.000 LOC) +--> IR Builder (vereinheitlichte Zwischendarstellung) +--> Optimizer (Pass-Manager, CFG, Dominanz, ~6.000 LOC) +--> x64 CodeGen (Register-Allokation, Befehlsauswahl, ~14.000 LOC) +--> Assembler (x64-Codierung, Fixups, ~5.000 LOC) +--> COFF Writer (Object-Datei-Ausgabe) +--> PE Linker (Import-Tabelle, Relokationen, PE32+-Image, ~3.000 LOC) | +--> PBXB64.exe (native PE32+-Ausführbare Datei)

Jede Sprache folgt demselben Pfad. Der IR-Layer ist das Geheimnis - eine neue Sprache hinzuzufügen erfordert nur Lexer und Parser.

Dieselbe Ausführbare Datei, 5 Sprachen

Alle fünf Programme kompilieren zu derselben nativen PE32+-Ausführbaren Datei. Mischen Sie sie in einem Projekt.

B64

B64 - C-ähnliche Systemsprache
fn main(): i32 { let x: i32 = add(40, 2); return x; // 42 } fn add(a: i32, b: i32): i32 { return a + b; }

B64 ist eine C-ähnliche Systemsprache mit Structs, Zeigern, Generics und match-Ausdrücken. PBXB64-Erweiterung

PowerBASIC

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

PowerBASIC ist der primäre Dialekt: FUNCTION/SUB, LOCAL/GLOBAL/SHARED, TYPE/UNION/ENUM, vollständige FOR/NEXT-Semantik. Standard-PB

C

C17 - Standard-Teilmenge
#include <stdio.h> int main(void) { printf("Hello from PBXB64 C!\n"); return 0; }

C17-Teilmenge mit vollem Präprozessor, Structs, Unions, Enums, switch/case und 29 Standard-Headern. PBXB64-Erweiterung

x64 Assembly

x64 Assembly - direkter Maschinencode
section .text global main main: mov rax, 42 ret

x64 Assembly mit Intel- und AT&T-Syntax. Native COFF/PE-Ausgabe - keine Zwischensprache. PBXB64-Erweiterung

PILOT

PILOT - Bildungssprache
T: Hello from PILOT! A: What is your name? M: Welcome, $name J: END U: END E:

PILOT Bildungssprache mit vollständigem T:/A:/M:/Y:/N:/J:/U:/E:-Befehlssatz. PBXB64-Erweiterung

Probieren Sie es selbst

CLI - jede Sprache kompilieren
REM B64 kompilieren PBXB64 answer.b64 -o answer.exe answer.exe REM PowerBASIC kompilieren PBXB64 hello.pb -o hello.exe hello.exe REM C kompilieren PBXB64 -std=c17 hello.c -o hello.exe hello.exe REM Assembly kompilieren PBXB64 -c hello.asm -o hello.obj PBXB64 hello.obj -o hello.exe REM PILOT kompilieren PBXB64 hello.pil -o hello.exe hello.exe

Ein Befehl, ein Compiler, eine Binary - unabhängig von der Eingabesprache.

In Zahlen

5Sprach-Frontends
~43.000LOC gesamt (C17)
~1 MBEinzelne Binary (UPX)
0Externe Abhängigkeiten

Verwandte Features

Zurück zur Feature-Liste