0x0LearnReferenceLibraries0x0.jmp0x1b.com

Architecture

This document gives a high-level map of the current 0x0 implementation. It is a

navigation layer over the exact compiler, runtime, ABI, and release references.

Major Components


0x0 source
  -> compiler/main.0x0
  -> OISA
  -> seed OISA evaluator or generated native compiler
  -> result

0x0 source
  -> bin/zero-native build
  -> C
  -> cc
  -> native executable

0x0 source
  -> bin/zero-native build-obj
  -> GAS assembly
  -> cc -c
  -> linkable object file

0x0 source
  -> bin/zero-native build-elf
  -> ELF64/x86-64 executable

compiler/main.0x0
  -> bin/zero-native compiler-elf
  -> build/native/zero-oisa-compiler
  -> OISA compiler output for diagnostics and parity checks

compiler/main.0x0
  -> bin/zero-native compiler-elf-builder
  -> build/native/zero-elf-compiler
  -> executable compiler builder without the stage -1 seed for normal succession

Compiler Ownership

compiler/main.0x0 owns the production compiler pipeline. The compiler guide is

Compiler Guide. The pipeline overview is

Compiler Pipeline.

Precondition for changing language behavior: update the source parser/checker

and every backend path that owns observable behavior, or document the backend

limit explicitly.

Postcondition for a compiler change: examples, checks, and docs agree on the

implemented slice.

Bootstrap Boundary

seed/zero.s is the recovery/audit seed. It may reproduce the first compiler

but must not accumulate production language semantics. See

Bootstrap Model and Bootstrap Chain.

Correctness note: self-hosting evidence depends on deterministic compiler

output. If stage output drifts, inspect the first difference before changing

release or bootstrap metadata.

Runtime Boundary

Runtime behavior is split between pure source behavior and explicit host

effects. Host effects must pass through capability-checked boundaries and

versioned ABI rows.

Relevant docs:

Security note: do not treat host adapters as policy owners. They may perform

declared host effects; policy belongs in source-owned tooling or checked

runtime policy data.

ABI And Value Layouts

The ABI docs describe current native/runtime layout contracts:

Needs verification before change: whether a layout change is source-compatible,

ABI-compatible, or release-breaking.

Packages And Libraries

Package metadata lives in 0x0.pkg and 0x0.lock. Libraries live under lib/,

libs/, frameworks/, and runtime/ depending on their role.

Relevant docs:

Tooling

Source-owned tooling routes production policy through .0x0 source while host

adapters perform explicit OS effects. Relevant docs:

Release Architecture

The release path uses the trusted compiler chain rooted at v0.1.0 unless a

maintainer intentionally changes TRUSTED_VERSION.

Relevant docs: