Language Frontends Overview

PBXB64 features five distinct language frontends that compile through a unified IR and x64 backend. Each frontend is optimized for its target use case while maintaining cross-language interoperability.

B64 (Primary Systems Language)

C-like syntax with manual memory management, explicit pointers, and first-class structs. Designed for systems programming where performance and control are paramount.

fn main(): i32 {
    let x: i32 = 42;
    let p: *i32 = &x;
    *p = 100;
    return x;
}

BASIC (PowerBASIC-Compatible)

Modernized PowerBASIC dialect with V8 string lifetime management, PRINT separator semantics, and native WinAPI integration.

FUNCTION PBMAIN() AS LONG
    LOCAL s AS STRING
    s = "Hello from PBXB64"
    PRINT s
    FUNCTION = 0
END FUNCTION

C Subset (C17 with Preprocessor)

Controlled C17 subset featuring full preprocessor, switch/case/goto, ternary operator, and 26 standard library headers.

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

Assembly (Native x64)

Intel-syntax assembler with direct COFF/PE output. Supports .asm/.s files and integrates seamlessly with high-level frontends.

section .text
global main
main:
    mov eax, 42
    ret

PILOT (Educational)

Atari-style interactive language for teaching programming concepts. Supports T:, A:, M:, Y:, N:, C:, J:, U:, E:, R:, S:, D: commands.

T: Hello from PILOT!
A: What is your name?
T: Nice to meet you!
E:
Cross-Language Linking: All frontends compile to the same IR and can be linked together. Mix B64, C, BASIC, and Assembly in a single project.