PBXA64 compiler engine in the SindByte Compiler Workshop
V9 Beta — One Compiler for Win32 and Win64

PBXA64 V9 BETA

PBXA64 is a native x64 Windows compiler that generates Win32 (x86/i686, PE32) and Win64 (x64, PE32+) programs. Dual-target output is available for PowerBASIC, the typed C frontend, and assembler.

91/91 CTest 1,099/1,099 samples Win32 + Win64 C coverage 80%+ PE32 + PE32+

V9 Highlights

V9 expands the typed C frontend with global objects, arrays, pointers, aggregates, initializers, casts, sizeof, typed calls, and diagnostics. The shipped C runtime now implements the string.h and stdlib.h surface — memory, strings, allocation, process exit, and integer conversion.

Corrected BMI1/BMI2 VEX prefixes, operand-width handling, and extended register encoding; hardened Win32 runtime generation and deterministic release staging. The CHM help and release includes are refreshed, and every distributed sample is qualified fail-closed: 91/91 CTest, 12/12 native matrix cases, and 1,099/1,099 samples.

Download PBX-Compiler (ZIP) All-in-One: PBXA32, PBXA64, PBXB64, ScharffBasic and PBX Editor Previous bundle: V1 (optional) Bundle downloads: --

PBX-Compiler package: 62.5 MB (ZIP) — PBXA32, PBXA64, PBXB64 and ScharffBasic including the PBX Editor, CHM help (EN+DE), 400 examples, 354 includes, and 34 C17 headers

Digitally signed by Theo Gottwald

91/91 CTest and 12/12 native matrix passing

SHA-256 checksums

Older Versions
V8 ZIP V7 ZIP
Native Cross-Compilation

One x64 Compiler, Two Windows Targets

PBXA64 itself runs as a 64-bit application. One option chooses compact x86/i686 output for Win32 or native x64 output for Win64. PowerBASIC, C, and ASM use the same qualified toolchain.

--target=win32   x86 / i686 / PE32 --target=win64   x64 / PE32+
PBXA64.exe --target=win32 program.bas -o program32.exe
PBXA64.exe --target=win64 program.bas -o program64.exe

The release matrix compiles PowerBASIC, C, and ASM for both targets at -O0 and -O2.

One toolchain, several languages

Build Real Windows Software

Open Online Reference

PowerBASIC Language

Functions, subs, strings, arrays, file I/O, structured control flow, macros, WinAPI access, and native EXE/DLL output.

Language details

Typed C Frontend

C11/C17/C23 subset with globals, pointers, arrays, strings, structs, unions, enums, casts, sizeof, and typed calls.

Frontend overview

Advanced REGEX

Built-in REGEXPR 1.25 engine with Unicode/UCP, captures, named groups, lookaround, backreferences, and replacements.

See code

Inline Assembly

Intel-style assembly in the source pipeline, with native COFF lowering and corrected BMI1/BMI2 encodings in V9.

ASM details

PILOT Frontend

A compact automation and teaching language that shares PBXA64's native Windows backend.

PILOT details

Native Toolchain

Preprocessor, typed IR, optimizer, assembler, COFF writer, PE linker, target runtimes, deterministic objects, and diagnostics.

Build details
No external regex DLL

REGEXPR 1.25 Built In

PBXA64 embeds an extended NFA regular-expression engine directly into the compiler runtime. PowerBASIC code can search, extract captures, replace text, split input, and process Unicode-aware patterns without shipping a separate regex package.

64 capture groups Named groups UTF-8 + UCP Lookaround Backreferences Greedy / lazy / possessive

Use statement forms REGEXPR and REGREPL, or string forms REGEX$ and REGEXREPLACE$. Explicit parser, nesting, pattern-size, and step limits reject unsupported or runaway work predictably.

FUNCTION PBMAIN() AS LONG LOCAL pos AS LONG, matchLen AS LONG LOCAL sourceText AS STRING, reordered AS STRING sourceText = "Ada Lovelace" REGEXPR "([A-Za-z]+) ([A-Za-z]+)" IN sourceText TO pos, matchLen PRINT "Match at"; pos; " length"; matchLen PRINT REGEX$("([A-Za-z]+) ([A-Za-z]+)", sourceText, 2) reordered = REGEXREPLACE$("([A-Za-z]+) ([A-Za-z]+)", _ sourceText, "$2, $1") PRINT reordered FUNCTION = 0 END FUNCTION

The same engine also exposes match, search, replace-first/all, callback replacement, split, and find-all APIs to C code.

Download PBXA64 in the PBX-Compiler

The digitally signed all-in-one package contains PBXA32, PBXA64, PBXB64 and ScharffBasic plus the PBX Editor and current CHM help (EN+DE) — PBXA64 V9 with target headers, runtime, include files, and examples.

Free for private use, cleanly licensed for business

Private use is free. Business, team, and commercial usage goes through Smart Package Robot.

Download Activity

Daily activity for every offered download over the rolling last 28 days. Each downloadable file has its own persistent color.